JPH1185514A - Information processor - Google Patents

Information processor

Info

Publication number
JPH1185514A
JPH1185514A JP9255960A JP25596097A JPH1185514A JP H1185514 A JPH1185514 A JP H1185514A JP 9255960 A JP9255960 A JP 9255960A JP 25596097 A JP25596097 A JP 25596097A JP H1185514 A JPH1185514 A JP H1185514A
Authority
JP
Japan
Prior art keywords
data
write
instruction
register
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP9255960A
Other languages
Japanese (ja)
Inventor
Noriyuki Abe
憲幸 阿部
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.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor 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 Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP9255960A priority Critical patent/JPH1185514A/en
Publication of JPH1185514A publication Critical patent/JPH1185514A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processor with which immediate data in the instruction of a fixed bit length can be read and the internal data of a bit length suitable for an object electronic system can be handled without changing the design of a control part or environment for programming. SOLUTION: An instruction decoder 18 fetches an instruction from an instruction memory 11 and generates a signal for control. Besides, when the fetched instruction is an instruction for continuously writing immediate data into the same register in a register file 15, a continuous write detection part 19 turns a write position control signal (e) into logic 1. When the immediate data are outputted from a selector 13b, a data write position change part 20 of a pipeline register 21b fetches the immediate data while changing the setting position according to the write position control signal (e). The immediate data, which reach the bit length of internal data, are written through an arithmetic logic computing element 16 and a selector 13c into the register file 15.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データパスのビッ
ト幅を変更して最適規模の情報処理装置を提供する際
の、開発環境の変更および回路設計変更の削減化手法に
関し、特に、データパス幅の変更で大きな影響を受け
る、即値データの取り扱いを簡易化した情報処理装置に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for reducing a change in a development environment and a change in a circuit design when providing an information processing apparatus having an optimum scale by changing a bit width of a data path. The present invention relates to an information processing apparatus which is greatly affected by a change in width and which simplifies handling of immediate data.

【0002】[0002]

【従来の技術】従来の情報処理装置としては、例えば、
「コンピュータの構成と設計」(Jhon L.Hen
nessy,David A.Patterson著、
成田光彰訳)に記載されたものがあり、図3にその構成
を示す。この情報処理装置は、データパス3と制御部4
から構成され、データパス3は、データ転送経路と、デ
ータ転送経路間に置かれた各種機能ブロック、即ちプロ
グラムカウンタ10、命令メモリ11、加算器12aお
よび12b、セレクタ13a、13bおよび13c、符
号拡張回路14、レジスタファイル15、算術論理演算
器16、データメモリ17と、パイプラインレジスタ2
1a、21e、21cおよび21dの一部から構成さ
れ、処理に用いられるデータに所望の操作を与える。制
御部4は、命令デコーダ40とパイプラインレジスタ2
1a、21e、21cおよび21dの一部から構成さ
れ、データパス3内のデータ転送経路の選択を行う制御
用の信号群と、各機能ブロックの機能の選択を行う制御
用の信号群を生成するものである。
2. Description of the Related Art As a conventional information processing apparatus, for example,
"Computer Configuration and Design" (Jhon L. Hen
nessy, David A. By Paterson,
FIG. 3 shows the configuration. This information processing apparatus includes a data path 3 and a control unit 4
The data path 3 includes a data transfer path and various functional blocks disposed between the data transfer paths, that is, a program counter 10, an instruction memory 11, adders 12a and 12b, selectors 13a, 13b and 13c, and a sign extension. Circuit 14, register file 15, arithmetic logic unit 16, data memory 17, pipeline register 2
1a, 21e, 21c, and 21d, and provides a desired operation to data used for processing. The control unit 4 includes the instruction decoder 40 and the pipeline register 2
1a, 21e, 21c, and 21d, and generates a control signal group for selecting a data transfer path in the data path 3 and a control signal group for selecting a function of each functional block. Things.

【0003】パイプラインレジスタ21a、21e、2
1cおよび21dは、図3に示されるように、一部がデ
ータパス3に含まれ、他の部分が制御部4に含まれ、所
定周期毎に入力値をラッチする操作を繰り返す。命令メ
モリ11には、情報処理装置の実行する命令が保持され
ており、プログラムカウンタ10から与えられるアドレ
スに対応した命令を出力する。命令メモリ11から出力
された命令は、所定周期毎にパイプラインレジスタ21
aに取り込まれる。
[0003] The pipeline registers 21a, 21e, 2
As shown in FIG. 3, 1c and 21d are partly included in the data path 3 and the other part is included in the control unit 4, and repeat the operation of latching the input value at predetermined intervals. The instruction memory 11 holds an instruction to be executed by the information processing device, and outputs an instruction corresponding to an address given from the program counter 10. The instruction output from the instruction memory 11 is stored in the pipeline register 21 every predetermined period.
a.

【0004】命令デコーダ40は、パイプラインレジス
タ21aに取り込んだ命令に従って、制御用の信号a、
b、c、d、f’、g”、h”、i”’、j”’および
k”’を生成する。命令デコーダ40で生成された制御
用の信号のうち、信号f’、g”、h”、i”’、
j”’およびk”’は、パイプラインレジスタ21eに
所定周期毎に取り込まれ、それぞれ信号f、g’、
h’、i”、j”およびk”として出力される。
An instruction decoder 40 controls a control signal a, according to an instruction fetched into the pipeline register 21a.
b, c, d, f ', g ", h", i "', j"', and k "'. Of the control signals generated by the instruction decoder 40, the signals f ', g" , H ", i"',
j ″ ′ and k ″ ′ are taken into the pipeline register 21e at predetermined intervals, and the signals f, g ′,
Output as h ', i ", j" and k ".

【0005】プログラムカウンタ10は、次の命令のア
ドレスとして、セレクタ13aにより選択された値を、
所定周期毎に取り込む。セレクタ13aは、命令デコー
ダ40により生成された出力セレクト信号である制御用
の信号aに従って、加算器12aの出力か、加算器12
bの出力の何れか一方を選択する。加算器12aは、プ
ログラムカウンタ10の値に所定の定数値、例えば、1
を加算しその出力がセレクタ13aの一方の入力に接続
される。また、加算器12aの出力は、パイプラインレ
ジスタ21aに所定周期毎に取り込まれる。加算器12
bは、パイプラインレジスタ21aが取り込んだ加算器
12aの出力値と符号拡張回路14の出力を加算する。
加算器12bの出力は、セレクタ13aのもう一方の入
力に接続される。
The program counter 10 uses the value selected by the selector 13a as the address of the next instruction,
It is taken in at predetermined intervals. The selector 13a outputs the output of the adder 12a or the adder 12a in accordance with the control signal a which is the output select signal generated by the instruction decoder 40.
Select one of the outputs of b. The adder 12a adds a predetermined constant value, for example, 1 to the value of the program counter 10.
And its output is connected to one input of the selector 13a. The output of the adder 12a is taken into the pipeline register 21a at predetermined intervals. Adder 12
b adds the output value of the adder 12a fetched by the pipeline register 21a and the output of the sign extension circuit 14.
The output of the adder 12b is connected to the other input of the selector 13a.

【0006】命令メモリ11から出力された命令の中
の、所定のビット位置に示された即値データが、パイプ
ラインレジスタ21aに所定周期毎に取り込まれ、その
後符号拡張回路14に入力される。後述するように、こ
の即値データのビット長は、加算器12bが扱うデータ
幅、即ちプログラムカウンタ10で扱う命令メモリ11
へのアドレスビット長よりも短いものである。そのた
め、符号拡張回路14が即値データの符号拡張の操作を
行い、ビット長を加算器12bが扱える長さに拡張す
る。
[0006] Immediate data indicated at a predetermined bit position in the instruction output from the instruction memory 11 is fetched into the pipeline register 21a at predetermined intervals, and then input to the sign extension circuit 14. As described later, the bit length of the immediate data is determined by the data width handled by the adder 12b, that is, the instruction memory 11 handled by the program counter 10.
Is shorter than the address bit length. Therefore, the sign extension circuit 14 performs a sign extension operation on the immediate data, and extends the bit length to a length that can be handled by the adder 12b.

【0007】レジスタファイル15は、情報処理装置が
処理を行う際に必要な様々なデータを一時的に保持する
ための複数のレジスタから構成され、2つの出力ポート
Rs1およびRs2を備えている。レジスタファイル1
5は、複数のレジスタの中から、命令デコーダ40で生
成された読み出しレジスタセレクト信号cにより指定さ
れるレジスタの保持する値を出力ポートRs1に出力
し、また読み出しレジスタセレクト信号dにより指定さ
れるレジスタの保持する値を出力ポートRs2に出力す
る。
[0007] The register file 15 is composed of a plurality of registers for temporarily holding various data necessary when the information processing apparatus performs processing, and has two output ports Rs1 and Rs2. Register file 1
5 outputs to the output port Rs1 the value held by the register specified by the read register select signal c generated by the instruction decoder 40 from among the plurality of registers, and outputs the value specified by the read register select signal d. Is output to the output port Rs2.

【0008】セレクタ13bは、レジスタファイル15
の出力ポートRs2の値と符号拡張回路14の出力のい
ずれか一方を、セレクト信号bに従って選択して出力す
る。レジスタファイル15の出力ポートRs2の値及び
Rs1の値と、セレクタ13bの出力は、所定周期毎に
パイプラインレジスタ21eに取り込まれる。
The selector 13b has a register file 15
Of the output port Rs2 and the output of the sign extension circuit 14 are selected and output according to the select signal b. The values of the output ports Rs2 and Rs1 of the register file 15 and the output of the selector 13b are taken into the pipeline register 21e at predetermined intervals.

【0009】算術論理演算器16の一方の入力には、パ
イプラインレジスタ21eに取り込まれたレジスタファ
イル15の出力ポートRs1の値が接続される。算術論
理演算器16のもう一方の入力には、パイプラインレジ
スタ21eに取り込まれたセレクタ13bの出力値が接
続される。算術論理演算器16が扱うデータのビット長
は、、加算器12a、12b及びプログラムカウンタ1
0が扱うデータのビット長と同一である。算術論理演算
器16は、入力された2つのデータに対して、各種の算
術演算や論理演算を施し出力する。このとき、行うべき
演算は、パイプラインレジスタ21eから出力される機
能選択信号fにより指定される。
[0009] One input of the arithmetic and logic unit 16 is connected to the value of the output port Rs1 of the register file 15 taken into the pipeline register 21e. The other input of the arithmetic and logic unit 16 is connected to the output value of the selector 13b taken into the pipeline register 21e. The bit length of the data handled by the arithmetic and logic unit 16 is determined by the adders 12a and 12b and the program counter 1
0 is the same as the bit length of the data to be handled. The arithmetic and logic unit 16 performs various arithmetic and logical operations on the two input data and outputs the result. At this time, the operation to be performed is specified by the function selection signal f output from the pipeline register 21e.

【0010】算術論理演算器16の出力は、パイプライ
ンレジスタ21cに所定周期毎に取り込まれ、また、レ
ジスタファイル15の出力ポートRs2の値は、パイプ
ラインレジスタ21eを経由して、パイプラインレジス
タ21cに所定周期枚に取り込まれる。また、パイプラ
インレジスタ21eから出力される制御用の信号g’、
h’、i”、j”およびk”は、さらに、パイプライン
レジスタ21cに所定周期毎に取り込まれ信号g、h、
i’、j’およびk’として出力される。
The output of the arithmetic and logic unit 16 is taken into the pipeline register 21c at predetermined intervals, and the value of the output port Rs2 of the register file 15 is sent to the pipeline register 21c via the pipeline register 21e. At a predetermined cycle. Further, a control signal g ′ output from the pipeline register 21e,
h ′, i ″, j ″ and k ″ are further taken into the pipeline register 21c at predetermined intervals, and the signals g, h,
Output as i ', j' and k '.

【0011】データメモリ17は、情報処理装置が処理
を行う際に生成される各種のデータを保持するための、
読み出しおよび書き込み可能なメモリである。パイプラ
インレジスタ21cから出力されるデータメモリ書き込
み信号hは、データメモリ17へデータの書き込みを行
うか否かを指示する。信号hが書き込みを指示している
とき、パイプラインレジスタ21eとパイプラインレジ
スタ21cを経由した、レジスタファイル15の出力ポ
ートRs2からの出力値が、データメモリ17に書き込
まれる。このとき、書き込み先のアドレスは、パイプラ
インレジスタ21cを経由した算術論理演算器16の出
力値により与えられる。
The data memory 17 stores various data generated when the information processing apparatus performs processing.
It is a readable and writable memory. The data memory write signal h output from the pipeline register 21c indicates whether or not to write data to the data memory 17. When the signal h indicates writing, the output value from the output port Rs2 of the register file 15 via the pipeline register 21e and the pipeline register 21c is written to the data memory 17. At this time, the address of the writing destination is given by the output value of the arithmetic and logic unit 16 via the pipeline register 21c.

【0012】パイプラインレジスタ21cから出力され
るデータメモリ読み出し信号gは、データメモリ17か
らデータ読み出しを行う否かを指示する。信号gが読み
出しを指示しているとき、データメモリ17内の、パイ
プラインレジスタ21cを経由した算術論理演算器16
の出力値に対応するアドレスに記憶されたデータが、デ
ータメモリ17から出力される。データメモリ17から
の出力データと、パイプラインレジスタ21cを経由し
た算術論理演算器16の出力値は、さらにパイプライン
レジスタ21dに取り込まれる。また、制御用の信号
i’、j’およびk’は、パイプラインレジスタ21d
に取り込まれそれぞれ制御用の信号i、jおよびkとし
て出力さる。
The data memory read signal g output from the pipeline register 21c indicates whether data is to be read from the data memory 17. When the signal g indicates a read operation, the arithmetic logic unit 16 in the data memory 17 via the pipeline register 21c
The data stored at the address corresponding to the output value is output from the data memory 17. The output data from the data memory 17 and the output value of the arithmetic and logic unit 16 via the pipeline register 21c are further taken into the pipeline register 21d. The control signals i ′, j ′ and k ′ are stored in the pipeline register 21d.
And output as control signals i, j and k, respectively.

【0013】セレクタ13cの一方の入力には、パイプ
ラインレジスタ21dを経由したデータメモリ17の出
力値が接続され、もう一方の入力には、パイプラインレ
ジスタ21cとパイプラインレジスタ21dを経由した
算術論理演算器16の出力値が接続される。セレクタ1
3cは、パイプラインレジスタ21dから出力されるセ
レクト信号kに従って、入力された2つのデータのいず
れか1つを選択して出力する。セレクタ13cの出力
は、レジスタファイル15のデータ入力に接続される。
レジスタ書き込み信号jは、レジスタファイル15への
書き込みを行うか否かを指示する信号であり、また書き
込みレジスタセレクト信号iは、レジスタファイル15
中の、データを書き込まれるレジスタを指定する信号で
あり、それぞれパイプラインレジスタ21dから出力さ
れる。レジスタファイル15には、セレクタ13cの出
力が、レジスタ書き込み信号jおよび書き込みレジスタ
セレクト信号iに従って所定のタイミングで書き込まれ
る。
One input of the selector 13c is connected to the output value of the data memory 17 via the pipeline register 21d, and the other input is connected to the arithmetic logic via the pipeline register 21c and the pipeline register 21d. The output value of the computing unit 16 is connected. Selector 1
3c selects and outputs one of the two input data according to the select signal k output from the pipeline register 21d. The output of the selector 13c is connected to the data input of the register file 15.
The register write signal j is a signal for instructing whether or not to write to the register file 15, and the write register select signal i is
These are signals for designating a register into which data is written, and are output from the pipeline register 21d. The output of the selector 13c is written into the register file 15 at a predetermined timing according to the register write signal j and the write register select signal i.

【0014】次に、上述した情報処理装置における動作
を説明する。まず、動作の流れを図4のフローチャート
に示す。ステップ101では、命令メモリ11から命令
を読み出す命令フェッチ操作を行う。ステップ102
で、命令を命令デコーダ40で解読し、制御用の信号群
を生成し、かつ、レジスタファイル15あるいは命令中
の即値データなどから、所望のデータを読み出す命令デ
コード/オペランドフェッチ操作をおこなう。ステップ
103では、算術論理演算器16で所望の演算を行う演
算実行操作を行う。ステップ104で、データメモリ1
7への読み書きを行うメモリアクセス操作を行う。ステ
ップ105では、レジスタファイル15への書き込みを
行うレジスタ書き込み操作を行う。ステップ101から
ステップ105までの5種類の操作は、パイプラインレ
ジスタ21a、21e、21cおよび21dにより分割
し、所定周期毎に連続して並列に行う、いわゆるパイプ
ライン処理により実行される。
Next, the operation of the above information processing apparatus will be described. First, the flow of the operation is shown in the flowchart of FIG. In step 101, an instruction fetch operation for reading an instruction from the instruction memory 11 is performed. Step 102
Then, the instruction is decoded by the instruction decoder 40, a signal group for control is generated, and an instruction decode / operand fetch operation for reading desired data from the register file 15 or immediate data in the instruction is performed. In step 103, the arithmetic and logic unit 16 performs an operation for performing a desired operation. In step 104, the data memory 1
7 to perform a memory access operation for reading and writing. In step 105, a register write operation for writing to the register file 15 is performed. The five types of operations from step 101 to step 105 are executed by so-called pipeline processing, which is divided by the pipeline registers 21a, 21e, 21c, and 21d, and is continuously performed in parallel at predetermined intervals.

【0015】情報処理装置が取り扱うデータ幅、すなわ
ち、加算器12aおよび12b、レジスタファイル1
5、算術論理演算器16、データメモリ17等のビット
長が、32ビットに設定されている場合を例にとり、具
体的な動作を説明する。図5に、情報処理装置が実行す
る命令、すなわち、命令メモリ11に保持される命令の
なかで、即値データを扱うものについて、その形態の一
例を示す。この命令は32ビット長であり、LSB側か
らMSB側に向かって、それぞれのビット位置をb0〜
b31とすると、ビットb0からビットb15までの1
6ビットはイミディエトフィールドであり、即値データ
が与えられる。また、ビットb16からビットb20ま
での5ビットは、第1のオペランドフィールドであり、
第1のオペランドrtが、ビットb21からビットb2
5までの5ビットは、第2のオペランドフィールドであ
り、第2のオペランドrsが与えられる。命令の機能を
示すオペコードは、ビットb26からビットb31まで
の6ビットのオペコードフィールドで与えられる。
The data width handled by the information processing apparatus, that is, adders 12a and 12b, register file 1
5, a specific operation will be described by taking as an example a case where the bit lengths of the arithmetic logic unit 16, the data memory 17, and the like are set to 32 bits. FIG. 5 shows an example of an instruction executed by the information processing apparatus, that is, an instruction held in the instruction memory 11 that handles immediate data. This instruction is 32 bits long, and its bit position is changed from b0 to b0 from the LSB side to the MSB side.
If b31, 1 from bit b0 to bit b15
Six bits are an immediate field to which immediate data is given. Also, 5 bits from bit b16 to bit b20 are a first operand field,
The first operand rt is the bit b21 to the bit b2
Five bits up to 5 are a second operand field, and are provided with a second operand rs. The opcode indicating the function of the instruction is given by a 6-bit opcode field from bit b26 to bit b31.

【0016】この形態の命令のひとつに、例えば、第1
のオペランドフィールドで指示された、レジスタファイ
ル15の出力ポートRs1から出力される、32ビット
長の第1のレジスタ内容と、16ビット長のイミディエ
トフィールドで与えられる即値データの値を加算し、こ
の加算結果を第2のオペランドフィールドで指示された
レジスタファイル15の中の所望のレジスタに書き込
む、という処理を行う命令があり、この命令をアドイミ
ディエト命令(add immediate)と呼ぶ。
このアドイミディエト命令では、16ビットの即値デー
タを、符号拡張回路14により32ビットデータに変換
して、算術論理演算器16で演算する。
One of the instructions of this form includes, for example, the first
Of the 32-bit length first register output from the output port Rs1 of the register file 15 and the value of the immediate data given by the 16-bit length immediate field specified by the operand field of There is an instruction for performing a process of writing the result of the addition to a desired register in the register file 15 specified by the second operand field, and this instruction is called an add immediate instruction (add immediate).
In this add-immediate instruction, the 16-bit immediate data is converted into 32-bit data by the sign extension circuit 14, and the arithmetic and logic unit 16 performs the operation.

【0017】また、図5で示される形態の命令のひとつ
に、オペランド(rt)フィールドで指示される、レジ
スタファイル15中の32ビット長の第2のレジスタ上
位側16ビットに、イミディエトフィールドで与えられ
る16ビット長の即値データを書き込む、ロードアッパ
ーイミディエト(load upper immedi
ate)命令がある。
One of the instructions in the form shown in FIG. 5 includes an immediate field in the upper 16 bits of a second 32-bit register in the register file 15 indicated by an operand (rt) field. Write the immediate data of 16-bit length given by, load upper immediate (load upper immediate)
ate) instruction.

【0018】例えば、レジスタファイル15中の、32
ビット長の所望のレジスタRnに、32ビットの即値デ
ータ“1010 0000 0011 1101 00
001001 0000 0000”(16進数で“A
03D 0900”)を書き込みたい場合、上記の即値
データ処理命令、即ちアドイミディエト命令とロードア
ッパーイミディエト命令を用いて、以下のように行われ
る。レジスタRnは、初期状態としてその値が0にクリ
アされている。まず、ロードアッパーイミディエト命令
で、レジスタRnの上位16ビットに“A03D”(1
6進数表示)を書き込み、次アドイミディエト命令で、
レジスタRnの値と16ビット長の即値データ“090
0”(16進数表示)との加算結果を再びレジスタRn
に書き込む。この結果、レジスタRnには16進数“A
03D 0900”が書き込まれたことになる。
For example, in the register file 15, 32
A 32-bit immediate data "1010 0000 0011 1101 00" is stored in a desired bit-length register Rn.
001001 0000 0000 "(hexadecimal" A
03D 0900 ″), the immediate data processing instruction, that is, the add immediate instruction and the load upper immediate instruction, is used as follows. The value of the register Rn is cleared to 0 as an initial state. First, “A03D” (1) is added to the upper 16 bits of the register Rn by a load upper immediate instruction.
Hexadecimal notation) and write the following add immediate instruction.
The value of the register Rn and the immediate data "090
The result of addition with 0 "(hexadecimal notation) is again stored in the register Rn.
Write to. As a result, the hexadecimal number “A” is stored in the register Rn.
03D 0900 "has been written.

【0019】このように、従来のRICS型プロセッサ
等の情報処理装置では、制御部の簡易化および処理性能
の向上のため、固定命令長を使用しているため、ひとつ
の命令で与えられる即値データのビット長は、情報処理
装置で扱われる内部データのビット長より短くなる。命
令長を適度に抑えながら、効率的に、命令中の即値デー
タに内部データの最大データ幅を割り当てることは困難
なので、最大データ幅の即値データを扱う際には、一般
的に複数の命令が用いられる。
As described above, in a conventional information processing apparatus such as a RICS processor, a fixed instruction length is used to simplify a control unit and improve processing performance. Is shorter than the bit length of the internal data handled by the information processing device. Since it is difficult to efficiently assign the maximum data width of internal data to immediate data in an instruction while keeping the instruction length moderate, when handling immediate data with the maximum data width, multiple instructions are generally used. Used.

【0020】[0020]

【発明が解決しようとする課題】しかしながら、近年、
自動車等に用いられる電子機器においては、回路規模お
よびコストは増大傾向にあるため、車載電子システムの
情報処理装置と周辺の専用回路を半導体チップ化し、高
信頼化を図りつつ、小型化および低コスト化を進めたい
という強い要求がある。半導体チップは、その面積が増
加すると製造工程における歩留まりが指数的に悪化して
コストに大きく影響することが知られている。従って、
半導体チップの面積を低減するために、情報処理装置の
規模をできるかぎり小さくすることが求められている。
However, in recent years,
Since the circuit scale and cost of electronic devices used in automobiles and the like are increasing, the information processing device of the vehicle-mounted electronic system and peripheral dedicated circuits are integrated into semiconductor chips to achieve high reliability, miniaturization and low cost. There is a strong demand to move forward. It is known that, as the area of a semiconductor chip increases, the yield in the manufacturing process exponentially deteriorates, which greatly affects the cost. Therefore,
In order to reduce the area of a semiconductor chip, it is required to reduce the size of an information processing device as much as possible.

【0021】情報処理装置の規模を左右する大きな要因
のひとつに、情報処理装置が扱う内部データのビット長
がある。この内部データのビット長は、対象とする電子
システムで処理すべきデータの精度や分解能によって、
選択されるものであり、電子システムの要求仕様を満た
しながら最小ビット長に設定することが望ましい。例え
ば、適用対象となる電子システムが16ビットの内部デ
ータで充分な場合に、前述の従来の32ビットの内部デ
ータを扱う情報処理装置を用いることは、コストの点か
ら好ましくない。低コストな、16ビットの内部データ
を扱う情報処理装置を用いる方が良い。
One of the major factors affecting the scale of an information processing apparatus is the bit length of internal data handled by the information processing apparatus. The bit length of this internal data depends on the precision and resolution of the data to be processed by the target electronic system.
It is desirable to set the minimum bit length while satisfying the required specifications of the electronic system. For example, when the electronic system to be applied is sufficient with 16-bit internal data, it is not preferable in terms of cost to use the above-described conventional information processing apparatus that handles 32-bit internal data. It is better to use a low-cost information processing apparatus that handles 16-bit internal data.

【0022】しかしながら、16ビットの情報処理装置
は、前述の32ビットの情報処理装置とは、扱う内部デ
ータのビット長が異なるだけではなく、その命令フォー
ムも異なる。「日経エレクトロニクス、NO.568」
(1992.11.23発行)に記載されている、この
命令フォームの一例を図6に示す。この命令は、固定長
16ビットの命令セットの中の一つで、即値データをレ
ジスタファイル中の所望のレジスタに取り込むための命
令である。
However, the 16-bit information processing device differs from the aforementioned 32-bit information processing device not only in the bit length of the internal data to be handled, but also in its instruction form. "Nikkei Electronics, NO.568"
FIG. 6 shows an example of this instruction form described in (Issue 1992.11.23). This instruction is one of an instruction set having a fixed length of 16 bits, and is an instruction for taking immediate data into a desired register in a register file.

【0023】ビットb0からb7までの8ビットが、イ
ミディエトフィールドであり、即値データが与えられ
る。ビットb8からb11が、オペランドフィールドで
あり、即値データを取り込むレジスタのオペランドが指
定される。また、ビット12からb15が、オペコード
フィールドであり、この命令のオぺコードが与えられ
る。図6に示す命令フォームでは、扱う即値データが、
8ビットであり、情報処理装置の内部データとして16
ビットの即値データを扱うときは、例えば、上位、下位
それぞれ8ビットづつに分けて取り込む。
Eight bits from bit b0 to bit b7 are an immediate field, to which immediate data is given. Bits b8 to b11 are an operand field, in which an operand of a register for capturing immediate data is specified. Bits 12 to b15 are an opcode field, and the opcode of this instruction is given. In the instruction form shown in FIG. 6, the immediate data to be handled is
8 bits, 16 bits as internal data of the information processing device
When handling immediate data of bits, for example, upper and lower 8 bits are respectively divided and taken in.

【0024】車載電子機器システム等では、適用対象と
なる電子システムにより最適な規模の情報処理装置を選
択しつつも、命令セットは、共通形態とすることが、開
発効率を落とさないという観点から望ましい。例えば、
図6のような16ビット長の命令形態に固定し、また命
令セットそのものも、固定化することが望ましい。
In an on-vehicle electronic equipment system or the like, it is desirable that the instruction set be in a common form while the information processing apparatus of the optimum scale is selected according to the electronic system to be applied, from the viewpoint of not lowering the development efficiency. . For example,
It is desirable that the instruction format is fixed to a 16-bit length as shown in FIG. 6 and the instruction set itself is also fixed.

【0025】しかしながら、従来の情報処理装置におい
ては、前述のごとく、1命令では、内部データのビット
長に満たない長さの即値データのみを扱うため、即値デ
ータを設定するレジスタのフィールド位置毎に専用の命
令を持たせて、複数回の即値データ設定を行う構成にな
っている。このため、たとえば、上述の16ビット長の
命令を変更せずに、情報処理装置の扱う内部データのビ
ット長を32ビットに変更するには、データパスの変更
のみならず、専用の命令を新たに追加することによる制
御部の設計変更と、プログラミングのための各種環境の
変更を行う必要がある。
However, in the conventional information processing apparatus, as described above, one instruction handles only immediate data having a length less than the bit length of the internal data. The configuration is such that a dedicated command is provided to set the immediate data a plurality of times. Therefore, for example, in order to change the bit length of the internal data handled by the information processing device to 32 bits without changing the 16-bit instruction described above, it is necessary not only to change the data path but also to add a dedicated instruction. It is necessary to change the design of the control unit by adding to the above, and to change various environments for programming.

【0026】一般的に、情報処理装置のデータパス部
は、非常に規則的な構成となるため、ビット長の拡張縮
小は比較的容易である一方、制御部は、最も複雑な構成
を有し、制御部の設計変更は、多大な工数を要し、開発
コストの増加を招くという問題がある。また、プログラ
ミングのための各種環境を変更することは、プログラミ
ング作業の不慣れに起因する、バグの増加やプログラミ
ング作業工数の増大等を招くという問題もある。
In general, the data path of an information processing apparatus has a very regular configuration, so that it is relatively easy to expand and reduce the bit length, while the control section has the most complicated configuration. In addition, there is a problem that the design change of the control unit requires a large number of man-hours and increases the development cost. Further, changing the various environments for programming also has a problem that an increase in bugs and an increase in the number of steps of the programming work are caused due to inexperience in the programming work.

【0027】本発明は、このような従来の問題点に鑑
み、一つの命令で扱う即値データのビット長が、所定の
ビット数に固定されている場合でも、新たな命令の追加
による、情報処理装置の制御部の設計変更や、プログラ
ミングのための各種環境の変更を行わずに、即値データ
を読み込むことができ、対象とする電子システムに応じ
て必要充分なビット長を有する内部データを扱うことの
できる情報処理装置を提供することを目的とする。
The present invention has been made in view of the above-described conventional problems, and even when the bit length of immediate data handled by one instruction is fixed to a predetermined number of bits, information processing by adding a new instruction is performed. Immediate data can be read without changing the design of the control unit of the device or changing various environments for programming, and handle internal data having a necessary and sufficient bit length according to the target electronic system. It is an object of the present invention to provide an information processing device capable of performing the following.

【0028】[0028]

【課題を解決するための手段】このため、本発明は、与
えられた命令を解読し制御用の信号を生成する制御部
と、制御部の生成した制御用の信号に従って、処理を実
行する実行部とを備える情報処理装置において、制御部
は、即値データに基づく処理結果を、同一のオペランド
で指定される書き込み領域に対して、連続して書き込む
操作が行われることを検出する連続書き込み検出部を有
し、実行部は、連続書き込み検出部の検出結果に基づい
て、連続した書き込みの回数に応じて、書き込み領域の
中での書き込み位置を切り替えるデータ書き込み位置変
更部と、データ書き込み位置変更部での変更結果に従っ
て、書き込み領域に、即値データに基づく処理結果を書
き込むデータ書き込み手段を有するものとする。
SUMMARY OF THE INVENTION Accordingly, the present invention provides a control unit for decoding a given instruction and generating a control signal, and executing a process in accordance with the control signal generated by the control unit. And a control unit, wherein the control unit detects a continuous writing operation of a processing result based on the immediate data in a writing area specified by the same operand. A data write position change unit that switches a write position in a write area according to the number of continuous writes based on a detection result of the continuous write detection unit; and a data write position change unit. It is assumed that a data writing means for writing the processing result based on the immediate data in the writing area in accordance with the result of the change in.

【0029】また、データ書き込み位置変更部は、連続
書き込み検出部の検出結果に基づいて、同一のオペラン
ドで指定される書き込み領域に対して、連続して書き込
み操作が行われる回数を計数する計数部と、与えられた
命令中で、直接指定できる即値データのビット長と同一
のビット長を持つ複数のレジスタと、計数部での計数結
果に応じて、即値データに基づく処理結果を取り込むレ
ジスタを処理結果のビット部分毎に選択する選択部と、
選択部で選択されたレジスタへの書き込み許可信号を生
成する書き込み信号生成部を有することが好ましい。
The data write position change unit counts the number of times a write operation is continuously performed on the write area specified by the same operand based on the detection result of the continuous write detection unit. In a given instruction, process multiple registers that have the same bit length as the bit length of immediate data that can be directly specified, and register that captures the processing result based on the immediate data according to the counting result in the counting unit. A selector for selecting for each bit portion of the result;
It is preferable to have a write signal generation unit that generates a write enable signal for the register selected by the selection unit.

【0030】[0030]

【作用】即値データによる処理結果を、連続的に同一の
オペランドで指定される領域に書き込む際に、連続回数
に応じて、指定される領域の中の書き込み位置が変更さ
れる。書き込み位置を命令により指定する必要が無いの
で、書き込み位置毎の専用命令が不要となる。そのため
に、新たな命令の追加や、命令セットの変更のための、
情報処理装置の制御部の再設計や、プログラミングの各
種環境の変更なしに、一つの命令で扱う即値データのビ
ット長が、所定のビット数に固定されている場合でも、
対象とする電子システムに応じて必要充分なビット長を
有する内部データを扱うことができる。
When the processing result of the immediate data is successively written to the area specified by the same operand, the writing position in the specified area is changed according to the number of times of continuation. Since there is no need to specify the write position by an instruction, a dedicated instruction for each write position is not required. For that purpose, to add new instructions or change the instruction set,
Even if the bit length of the immediate data handled by one instruction is fixed to a predetermined number of bits without redesigning the control unit of the information processing device or changing various programming environments,
Internal data having a necessary and sufficient bit length can be handled according to the target electronic system.

【0031】[0031]

【発明の実施の形態】本発明の実施の形態を実施例によ
り説明する。図1は32ビットの内部データを扱う本実
施例の構成を示す図である。入力される命令セットは、
固定長16ビットとし、即値データを扱う命令の形態と
する。データパス1は、処理に用いられるデータに所望
の操作を与えるためのデータ転送経路とその間に置かれ
た各種機能ブロックから構成される。即ち、プログラム
カウンタ10、命令メモリ11、加算器12aおよび1
2b、セレクタ13a、13bおよび13c、符号拡張
回路14、レジスタファイル15、算術論理演算器1
6、データメモリ17、そしてそれらの間に置かれたパ
イプラインレジスタ21a、21b、21cおよび21
dの一部から構成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described with reference to examples. FIG. 1 is a diagram showing the configuration of the present embodiment that handles 32-bit internal data. The input instruction set is
It has a fixed length of 16 bits and is in the form of an instruction for handling immediate data. The data path 1 includes a data transfer path for giving a desired operation to data used for processing and various functional blocks interposed therebetween. That is, the program counter 10, instruction memory 11, adders 12a and 1
2b, selectors 13a, 13b and 13c, sign extension circuit 14, register file 15, arithmetic logic unit 1
6, the data memory 17, and the pipeline registers 21a, 21b, 21c and 21 interposed therebetween.
d.

【0032】制御部2は、データパス1内のでデータ転
送経路の選択を行う制御用の信号群と、各機能ブロック
の機能の選択を行う制御用の信号群を生成するものであ
り、命令デコーダ18と、パイプラインレジスタ21
a、21b、21cおよび21dの一部から構成され
る。パイプラインレジスタ21bは、セレクタ13bか
らの出力を取り込む通常のレジスタに代わり、データ書
き込み位置変更部20が備えられている。他の構成は、
図3に示すパイプラインレジスタ21eと同様である。
データ書き込み位置変更部20は、セレクタ13bから
即値データが出力された場合に、必要に応じて即値デー
タの設定位置を変更して取り込む。
The control unit 2 generates a control signal group for selecting a data transfer path in the data path 1 and a control signal group for selecting a function of each functional block. 18 and the pipeline register 21
a, 21b, 21c, and 21d. The pipeline register 21b is provided with a data write position changing unit 20 instead of a normal register that takes in the output from the selector 13b. Other configurations are
This is the same as the pipeline register 21e shown in FIG.
When the immediate data is output from the selector 13b, the data writing position changing unit 20 changes and sets the setting position of the immediate data as needed.

【0033】命令デコーダ18は、連続書き込み検出部
19を有し、図3に示す命令デコーダ40と同様に、制
御用の信号群a、b、c、d、f’、g”、h”、
i”’、j”’およびk”’を生成し、さらに、連続書
き込み検出部19では、書き込み位置制御信号eを生成
する。連続書き込み検出部19では、取り込んだ命令
が、即値データを処理しレジスタファイル15中の所定
のレジスタに書き込む命令であり、この機能の命令が連
続して取り込まれ、かつその書き込み先を指定するオペ
ランドが同一であるとき、即ち、同一レジスタへの連続
書き込みが指定された時、書き込み位置制御信号eを倫
理1にし、それ以外のときは、論理0にする。書き込み
位置制御信号eは、データ書き込み位置変更部20の書
き込み位置を制御する。
The instruction decoder 18 has a continuous write detection unit 19, and similarly to the instruction decoder 40 shown in FIG. 3, control signal groups a, b, c, d, f ', g ", h",
i ″ ′, j ″ ″, and k ″ ″ are generated, and further, the continuous write detection unit 19 generates a write position control signal e. In the continuous write detection unit 19, the fetched instruction processes the immediate data. This is an instruction to write to a predetermined register in the register file 15. When an instruction of this function is fetched continuously and operands for specifying the write destination are the same, that is, continuous writing to the same register is specified. At this time, the write position control signal e is set to ethical 1, otherwise, it is set to logic 0. The write position control signal e controls the write position of the data write position changing unit 20.

【0034】図2に、データ書き込み位置変更部20の
構成を示す。データ書き込み位置変更部20は、8ビッ
トのレジスタ25a、25b、25c、25dと、書き
込み位置制御信号eに基づいて、同一のオペランドで指
定される書き込み領域に対して、連続して書き込み操作
が行われる回数を計数し、セレクト信号seを出力する
計数部26と、計数部26での計数結果に応じて、即値
データに基づく処理結果を取り込むレジスタを処理結果
のビット部分毎に選択するセレクタ22、23および2
4と、セレクタ22、23および24で選択されたレジ
スタへの書き込み許可信号we0、we1、we2及び
we3を生成する書き込み信号生成部27から構成され
る。
FIG. 2 shows the configuration of the data write position changing unit 20. Based on the 8-bit registers 25a, 25b, 25c, and 25d and the write position control signal e, the data write position changing unit 20 continuously performs a write operation on the write area specified by the same operand. A counting unit 26 that counts the number of times the data is processed and outputs a select signal se; 23 and 2
4 and a write signal generation unit 27 that generates write enable signals we0, we1, we2, and we3 for the registers selected by the selectors 22, 23, and 24.

【0035】計数部26から出力されたセレクト信号s
eは、セレクタ22、23、24の選択信号入力と、書
き込み信号生成部27へ接続される。また、書き込み許
可信号we3は、レジスタ25aの書き込み許可入力
に、書き込み許可信号we2は、レジスタ25bの書き
込み許可入力に、書き込み許可信号we1は、レジスタ
25cの書き込み許可入力に、書き込み許可信号we0
は、レジスタ25dの書き込み許可入力に、それぞれ接
続される。
The select signal s output from the counter 26
e is connected to the selection signal inputs of the selectors 22, 23, and 24 and to the write signal generation unit 27. The write enable signal we3 is applied to the write enable input of the register 25a, the write enable signal we2 is applied to the write enable input of the register 25b, the write enable signal we1 is applied to the write enable input of the register 25c, and the write enable signal we0 is applied.
Are respectively connected to the write enable inputs of the register 25d.

【0036】セレクト信号seは、連続書き込み検出部
19で生成される書き込み位置制御信号eが連続して論
理1になっている回数を表す信号である。即ち、セレク
ト信号seは、レジスタファイル15のなかの同一レジ
スタへ連続して即値データ書き込みが行われていないと
きは0となり、2度つづけて同一レジスタへの即値デー
タ書き込みが行われるときは1となり、3度続くときは
2となり、4度続くときは3となる。さらに同一レジス
タへの書き込みが続くと、セレクト信号seは0に戻
り、1、2、3とカウントを繰り返す。
The select signal se is a signal indicating the number of times that the write position control signal e generated by the continuous write detecting section 19 has a logic 1 continuously. That is, the select signal se becomes 0 when immediate data is not continuously written to the same register in the register file 15, and becomes 1 when immediate data is written to the same register twice in succession. If it continues three times, it becomes 2, and if it lasts four times, it becomes 3. When writing to the same register continues, the select signal se returns to 0, and repeats counting as 1, 2, and 3.

【0037】セレクタ22は、8ビットの4to1セレ
クタであり、0番入力から3番入力までの4つの8ビッ
ト入力を備える。セレクタ22からは、セレクト信号s
eの値と同じ値の入力番号のデータが出力される。セレ
クタ13bの32ビットの出力のうち最上位の8ビット
(b31〜b24)を0番入力に接続し、次の8ビット
(b23〜b16)を1番入力に接続し、さらに次の8
ビット(b15〜b8)を2番入力に接続し、また最下
位の8ビット(b7〜b0)を3番入力に接続する。
The selector 22 is an 8-bit 4-to-1 selector and has four 8-bit inputs from a 0th input to a 3rd input. The selector 22 outputs a select signal s
Data having the same input number as the value of e is output. The most significant 8 bits (b31 to b24) of the 32-bit output of the selector 13b are connected to the 0th input, the next 8 bits (b23 to b16) are connected to the 1st input, and the next 8 bits are further connected.
The bits (b15 to b8) are connected to the second input, and the least significant 8 bits (b7 to b0) are connected to the third input.

【0038】同様に、セレクタ23は8ビットの3to
1セレクタであり、0番入力から2番入力までの3つの
8ビット入力を備える。セレクタ23からは、セレクト
信号seの値と同じ値の入力番号のデータが出力され
る。ただし、セレクト信号seの値が3の時の出力は任
意である。セレクタ13bの32ビットの出力のうち、
最上位の8ビット(b31〜b24)をのぞき、次の8
ビット(b23〜b16)を0番入力に接続し、さらに
次の8ビット(b15〜8)を1番入力に接続し、また
最下位の8ビット(b7〜b0)を2番入力に接続す
る。
Similarly, the selector 23 has an 8-bit 3to
This is a 1 selector and has three 8-bit inputs from the 0th input to the 2nd input. The selector 23 outputs data of an input number having the same value as the value of the select signal se. However, the output when the value of the select signal se is 3 is arbitrary. Of the 32-bit output of the selector 13b,
Except for the most significant 8 bits (b31 to b24), the next 8 bits
The bits (b23 to b16) are connected to the 0th input, the next 8 bits (b15 to 8) are connected to the 1st input, and the least significant 8 bits (b7 to b0) are connected to the 2nd input. .

【0039】同様に、セレクタ24は8ビットの2to
1セレクタであり、0番入力と1番入力の2つの8ビッ
ト入力を備える。セレクタ24は、セレクト信号seが
0のとき0番入力のデータを、セレクト信号seが1の
とき1番入力のデータを出力する。セレクト信号seが
2または、3のときは、出力は任意である。セレクタ1
3bの32ビット出力のうち、上位からの16ビット
(b31〜b16)を除き、次の8ビット(b15〜b
8)を0番入力に接続し、最下位の8ビット(b7〜b
0)を1番入力に接続する。
Similarly, the selector 24 is an 8-bit 2to
It is a 1 selector and has two 8-bit inputs, a 0th input and a 1st input. The selector 24 outputs the 0th input data when the select signal se is 0, and outputs the 1st input data when the select signal se is 1. When the select signal se is 2 or 3, the output is arbitrary. Selector 1
In the 32-bit output of 3b, except for the upper 16 bits (b31 to b16), the next 8 bits (b15 to b15)
8) is connected to the 0th input, and the least significant 8 bits (b7 to b
0) is connected to the first input.

【0040】書き込み信号生成部27の出力する書き込
み許可信号we3、we2、we1、we0は、それぞ
れ、レジスタ25a、25b、25c、25dへのデー
タ書き込みを行うか、否かを制御する信号であり、セレ
クト信号seの値に対応して切り替えられる。書き込み
許可信号we0は、セレクト信号seの値が0の時の
み、書き込みを許可する。we1は、セレクト信号se
の値が0または1のときのみ、書き込みを許可する。w
e2は、セレクト信号seの値が0、1または2の時の
み、書き込みを許可する。we3は、セレクト信号se
の値にかかわらず常に書き込みを許可する。レジスタ2
5a、25b、25cおよび25dの出力は32ビット
のデータ信号として算術論理演算器16の一方のデータ
入力に接続される。なお、データパス1は、発明の実行
部を構成し、セレクタ22、23および24とレジスタ
25a、25b、25cおよび26dと、計数部26お
よび書き込み信号生成部27は、データ書き込み位置変
更部を構成する。特に、セレクタ22、23および24
は選択部を構成する。また、パイプラインレジスタ21
dとセレクタ13cは、発明のデータ書き込み手段を構
成する。
The write enable signals we3, we2, we1, and we0 output from the write signal generation unit 27 are signals for controlling whether to write data into the registers 25a, 25b, 25c, and 25d, respectively. Switching is performed according to the value of the select signal se. The write enable signal we0 permits writing only when the value of the select signal se is 0. We1 is the select signal se
Is permitted only when the value of is 0 or 1. w
e2 permits writing only when the value of the select signal se is 0, 1 or 2. We3 is the select signal se
Always allow writing, regardless of the value of. Register 2
The outputs of 5a, 25b, 25c and 25d are connected to one data input of arithmetic logic unit 16 as a 32-bit data signal. The data path 1 constitutes an execution unit of the invention, and the selectors 22, 23 and 24, the registers 25a, 25b, 25c and 26d, the counting unit 26 and the write signal generation unit 27 constitute a data write position changing unit. I do. In particular, selectors 22, 23 and 24
Constitutes a selection unit. Also, the pipeline register 21
d and the selector 13c constitute the data writing means of the present invention.

【0041】次に、本実施例の動作について、32ビッ
トの即値データ“A03D0900”(16進数表示)
を、レジスタファイル15中のレジスタR2に書き込む
例で説明する。まず、第1の命令として、図6に示した
形態の命令で、b7〜b0を2進数“0000 000
0”(16進数の“00”)として即値データの最下位
バイトを与え、b11〜b8を2進数“00010”と
して、レジスタR2を示し、またb15〜b12のオペ
コード部に、即値データロード(即値データの内部レジ
スタへの取り込み)処理に対応するコードを与える。第
1の命令をパイプラインレジスタ21aを介して取り込
んだ命令デコーダ18は、セレクタ13bへのセレクト
信号bとして、符号拡張回路14の出力を選択する制御
用の信号を生成する。
Next, regarding the operation of this embodiment, immediate data "A03D0900" of 32 bits (in hexadecimal notation)
Is written in the register R2 in the register file 15. First, as a first instruction, an instruction of the form shown in FIG. 6 is used, and b7 to b0 are converted to a binary number “0000 000”.
The least significant byte of the immediate data is given as "0" (hexadecimal "00"), the register R2 is shown as b11 to b8 as the binary number "00010", and the immediate data load (immediate data The instruction decoder 18 which has fetched the first instruction via the pipeline register 21a outputs a code corresponding to the processing to the selector 13b as a select signal b to the selector 13b. Generate a control signal for selecting.

【0042】このとき、符号拡張回路14は、前記第1
の命令中の即値データ部分b7〜b0“0000 00
00”を符号拡張した32ビットデータを出力してい
る。従って、セレクタ13bの出力は全てのビットが
‘0’となる。同一レジスタへの連続即値データ書き込
みは行われていないので、書き込み位置制御信号eは、
論理0となっており、セレクト信号seの値は0となっ
ている。従って、データ書き込み位置変更部20への書
き込みは、レジスタ25a、25b、25c、25dに
対して行われ、それぞれ2進数“0000 0000”
が書き込まれる。
At this time, the sign extension circuit 14
Immediate data part b7 to b0 in the instruction of "000000"
Thus, the selector 13b outputs all bits of "0". Since the continuous immediate data writing to the same register is not performed, the write position control is performed. The signal e is
It is logic 0, and the value of the select signal se is 0. Therefore, writing to the data write position changing unit 20 is performed to the registers 25a, 25b, 25c, and 25d, and the binary numbers “0000 0000” are respectively provided.
Is written.

【0043】データ書き込み位置変更部20の出力は、
図1に示すように、算術論理演算器16の一方のデータ
入力に接続されており、このときの算術論理演算器16
の機能選択信号fは、このデータ書き込み位置変更部2
0の出力をそのまま算術論理演算器の出力とするように
指示するものとなる。従って、第1の命令で与えられた
最下位バイトの即値データは、符号拡張された形で、次
のサイクルで算術論理演算器16の出力としてパイプラ
インレジスタ21cに取り込まれ、さらに次のサイクル
で、パイプラインレジスタ21dに取り込まれる。
The output of the data write position changing unit 20 is:
As shown in FIG. 1, it is connected to one data input of the arithmetic and logic unit 16 and at this time,
Of the data write position change unit 2
It is instructed so that the output of 0 is used as it is as the output of the arithmetic and logic unit. Accordingly, the immediate data of the least significant byte given by the first instruction is taken in the pipeline register 21c as the output of the arithmetic and logic unit 16 in the next cycle in a sign-extended form, and further in the next cycle. , Are taken into the pipeline register 21d.

【0044】セレクタ13cに対するセレクト信号k
は、このときパイプラインレジスタ21dに取り込まれ
た、上記第1の命令で与えられた最下位バイトの即値デ
ータを出力するように指示する。さらに、次のサイクル
で、セレクタ13cの出力は、レジスタファイル15に
書き込まれる。このとき、レジスタファイル15への書
き込みレジスタセレクト信号iはレジスタR2を指示
し、また、レジスタ書き込み信号jは、書き込みを指示
する。以上の流れで、レジスタR2には、所望の即値デ
ータの最下位バイトが書き込まれる。
Select signal k for selector 13c
Instructs to output the immediate data of the least significant byte given by the first instruction and taken into the pipeline register 21d at this time. Further, in the next cycle, the output of the selector 13c is written to the register file 15. At this time, the register select signal i for writing to the register file 15 indicates the register R2, and the register write signal j for writing. With the above flow, the least significant byte of the desired immediate data is written into the register R2.

【0045】次に、32ビット即値データ“A03D
0900”(16進数表示)の下位から2バイトめの
値、即ち、2進数“0000 1001”を所定位置に
書き込むための第2の命令について説明する。第2の命
令は、命令の形態とオペコード、および、書き込み先オ
ペランドが、第1命令と全く同一で、与えられる即値デ
ータのみが異なる。つまり図6に示し命令フォームで、
b7〜b0に2バイトめの即値データ(2進数“000
0 1001”)を与え、b11〜b8に、2進数“0
010”(レジスタR2)、b15〜b12のオペコー
ドに、第1の命令と同一の即値データロード処理に対応
するコードを与える。
Next, the 32-bit immediate data "A03D"
A second instruction for writing a value of the second byte from the lower end of “0900” (hexadecimal number), that is, a binary number “0000 1001” at a predetermined position will be described. , And the write destination operand are exactly the same as the first instruction, and only the provided immediate data is different, that is, in the instruction form shown in FIG.
The second byte immediate data (binary "000") is stored in b7 to b0.
0 1001 "), and b11 to b8 are binary numbers" 0
010 "(register R2), a code corresponding to the same immediate data load processing as the first instruction is given to the operation codes b15 to b12.

【0046】第2の命令は、第1の命令に引き続きパイ
プラインレジスタ21aに取り込まれ、命令デコーダ1
8に与えられる。第2の命令でも、第1の命令と同様
に、セレクト信号bは、セレクタ13bが、符号拡張回
路14の出力を通すように指定する。従って、セレクタ
13bの出力には、第2の命令中の8ビット即値データ
“0000 1001”が符号拡張された、32ビット
の即値データ“0000 0000 0000 000
0 0000 0000 0000 1001”が出力
されている。
The second instruction is fetched into the pipeline register 21a following the first instruction, and
8 given. In the second instruction, as in the first instruction, the select signal b specifies that the selector 13b passes the output of the sign extension circuit 14. Therefore, the 32-bit immediate data "0000 0000 0000 000" obtained by sign-extending the 8-bit immediate data "0000 1001" in the second instruction is output to the output of the selector 13b.
0 0000 0000 0000 1001 "is output.

【0047】同一レジスタR2への即値データ書き込み
が連続して行われようとしているので、信号eは論理1
となり、セレクト信号seの値は1となる。従って、デ
ータ書き込み位置変更部20への書き込みは、レジスタ
25a、25b、25cに対して行われる。このとき、
セレクタ22はセレクタ13bの出力の下位から3バイ
トめ(b23〜b16)を選択しているので、レジスタ
25aには、2進数“0000 0000”が書き込ま
れる。また、セレクタ23は、セレクタ13bの出力の
下位から2バイトめ(b15〜b8)を選択しているの
で、レジスタ25bには、2進数“0000 000
0”が書き込まれる。
Since the writing of immediate data to the same register R2 is going to be performed continuously, the signal e becomes logic 1
, And the value of the select signal se becomes 1. Therefore, writing to the data write position changing unit 20 is performed to the registers 25a, 25b, and 25c. At this time,
Since the selector 22 selects the third byte (b23 to b16) from the lower end of the output of the selector 13b, the binary number "0000 0000" is written in the register 25a. Further, since the selector 23 selects the second byte (b15 to b8) from the lower end of the output of the selector 13b, the register 25b stores the binary number "0000 0000".
0 "is written.

【0048】さらに、また、セレクタ24はセレクタ1
3bの出力の最下位バイト(b7〜b0)を選択してい
るので、レジスタ25cには、2進数“0000 10
01”が書き込まれる。セレクト信号seが0ではない
ので、書き込み許可信号we0は書き込みを許可しない
ため、レジスタ25dには、書き込みが行われず、第1
の命令で書き込まれた2進数“0000 0000”が
保持されている。この段階で、データ書き込み位置変更
部20の出力は、2進数“0000 0000 000
0 0000 0000 1001 0000 000
0”となり、レジスタR2に書き込みたい32ビット即
値データの下位2バイトまでの値が符号拡張された形で
与えられる。これ以降は、第1の命令と全く同様に処理
が進み、レジスタR2に下位2バイト分の即値データが
32ビットに符号拡張された形で書き込まれる。
Further, the selector 24 is the selector 1
Since the least significant byte (b7 to b0) of the output of 3b is selected, the binary number “0000 10” is stored in the register 25c.
01 "is written. Since the select signal se is not 0, the write enable signal we0 does not permit writing, so that no data is written to the register 25d and the first
The binary number "0000 0000" written by this instruction is held. At this stage, the output of the data write position change unit 20 is a binary number “0000 0000 000”.
0 0000 0000 1001 0000 000
0 ", and the value up to the lower two bytes of the 32-bit immediate data to be written to the register R2 is given in a sign-extended form. Thereafter, the processing proceeds exactly in the same manner as in the first instruction, and the lower order is stored in the register R2. Immediate data of 2 bytes is written in a form extended to 32 bits.

【0049】次に、32ビット即値データ“A03D
0900”(16進数表示)の下位から3バイトめの
値、即ち、2進数“0011 1101”を所定位置に
書き込むための第3の命令は、命令の形態とオペコー
ド、および書き込み先オペランドが、第1および第2の
命令と全く同一で、与えられる即値データのみが異な
る。つまり、図6に示した命令フォームで、b7〜b0
に3バイトめの即値データ(2進数“0011 110
1”)を与え、b11〜b8に2進数“0010”(レ
ジスタR2)、b15〜b12のオペコードに、第1お
よび第2の命令と同一の即値データロード処理に対応す
るコードを与える。
Next, the 32-bit immediate data "A03D"
The third instruction for writing the value of the third byte from the bottom of 0900 ”(in hexadecimal notation), that is, the binary number“ 0011 1101 ”, at a predetermined position is composed of an instruction form, an operation code, and a destination operand. It is exactly the same as the first and second instructions, and only the provided immediate data is different, that is, b7 to b0 in the instruction form shown in FIG.
Is the third byte of immediate data (binary number “0011 110
1 "), and a code corresponding to the same immediate data load processing as the first and second instructions is given to the operation codes of binary" 0010 "(register R2) and b15 to b12 to b11 to b8.

【0050】第3の命令は、第1、第2の命令に引き続
きパイプラインレジスタ21aに取り込まれ、命令デコ
ーダ18に与えられる。第3の命令でも、第1、第2の
命令と同様に、セレクタ信号bは、セレクタ13bが符
号拡張回路14の出力を通すように指定する。したがっ
て、セレクタ13bの出力には、第3の命令中の8ビッ
ト即値データ“0011 1101”が符号拡張され
て、32ビットの即値データ“0000 0000 0
000 0000 0000 0000 0011 1
101”が出力されている。
The third instruction is fetched into the pipeline register 21a following the first and second instructions, and supplied to the instruction decoder 18. In the third instruction, as in the first and second instructions, the selector signal b specifies that the selector 13b passes the output of the sign extension circuit 14. Therefore, the 8-bit immediate data "0011 1101" in the third instruction is sign-extended to the output of the selector 13b to provide the 32-bit immediate data "0000 0000 0".
000 0000 0000 0000 0011 1
101 "is output.

【0051】同一レジスタR2への即値データ書き込み
が、さらに連続して行われようとしているので、書き込
み位置制御信号eは、論理1を継続し、セレクト信号s
eの値は2となる。したがって、データ書き込み位置変
更部20への書き込みは、レジスタ25aと25bに対
してのみ行われる。このとき、セレクタ22は、セレク
タ13bの出力の下位から2バイトめ(b15〜b8)
を選択しているので、レジスタ25aには、2進数“0
000 0000”が書き込まれる。また、セレクタ2
3は、セレクタ13bの出力の最下位バイト(b8〜b
0)を選択しているので、レジスタ25bには、2進数
“0011 1101”が書き込まれる。
Since the writing of immediate data to the same register R2 is about to be performed more continuously, the write position control signal e keeps the logic 1 and the select signal s
The value of e is 2. Therefore, writing to the data write position changing unit 20 is performed only for the registers 25a and 25b. At this time, the selector 22 outputs the second byte from the lower end of the output of the selector 13b (b15 to b8).
Is selected, the register 25a stores the binary number “0”.
000 0000 ”is written.
3 is the least significant byte (b8 to b8) of the output of the selector 13b.
Since 0) is selected, the binary number “0011 1101” is written in the register 25b.

【0052】レジスタ25c、25dには、書き込み許
可信号we0およびwe1により書き込みが許可されな
いので、書き込みが行われず、それぞれ第1および第2
の命令で書き込まれた2進数“0000 1001”お
よび2進数“0000 0000”が保持されている。
この段階で、データ書き込み位置変更部20の出力は、
2進数“0000 0000 0011 1101 0
000 1001 0000 0000”となり、レジ
スタR2に書き込みたい32ビット即値データの下位3
バイトまでの値が符号拡張された形で与えられる。これ
以降は、第1、第2の命令と全く同様に処理が進み、レ
ジスタR2に下位3バイト分の即値データが32ビット
に符号拡張された形で書き込まれる。
Since writing to the registers 25c and 25d is not permitted by the write permission signals we0 and we1, no writing is performed, and the first and second registers are respectively performed.
The binary number “0000 1001” and the binary number “0000 0000” written by this instruction are held.
At this stage, the output of the data write position change unit 20 is:
Binary "0000 0000 0011 1101 0
000 1001 0000 0000 ", which is the lower 3 bits of the 32-bit immediate data to be written to the register R2.
The value up to the byte is given in sign-extended form. Thereafter, the processing proceeds in exactly the same way as the first and second instructions, and the immediate data of the lower three bytes is written into the register R2 in a form sign-extended to 32 bits.

【0053】32ビット即値データ“A03D 090
0”(16進数表示)の下位から4バイトめ(最上位バ
イト)の値、すなわち、2進数“1010 0000”
を所定位置に書き込むための第4の命令は、命令の形態
とオペコード、及び書き込み先オペランドが、第1、第
2、第3の命令と全く同一で、与えられる即値データの
みが異なる。つまり、図6に示した命令フォームで、b
7〜b0に4バイトめの即値データ(2進数“1010
0000”)を与え、b11〜b8に2進数“001
0”(レジスタR2)、b15〜b12のオペコード
に、第1、第2、第3の命令と同一の即値データロード
処理に対応するコードを与える。
32-bit immediate data "A03D 090"
0 ”(hexadecimal notation), the value of the fourth byte (most significant byte) from the bottom, that is, the binary number“ 1010 0000 ”
Is exactly the same as the first, second, and third instructions in the form of the instruction, the operation code, and the write destination operand, and only the given immediate data is different. That is, in the instruction form shown in FIG.
4th byte immediate data (binary "1010
0000 "), and binary numbers" 001 "are assigned to b11 to b8.
0 "(register R2), a code corresponding to the same immediate data load processing as the first, second, and third instructions is given to the operation codes b15 to b12.

【0054】第4の命令は、第1、第2、第3の命令に
引き続きパイプラインレジスタ21aに取り込まれ、命
令デコーダ18に与えられる。第4の命令でも第1、第
2、第3の命令と同様に、セレクト信号bは、セレクタ
13bが符号拡張回路14の出力を通すように指定す
る。したがって、セレクタ13bの出力には、第4の命
令中の8ビット即値データ“1010 0000”が符
号拡張され、32ビット即値データ“0000 000
0 0000 0000 0000 0000 101
0 0000”が出力されている。
The fourth instruction is fetched into the pipeline register 21a following the first, second, and third instructions, and supplied to the instruction decoder 18. In the fourth instruction, as in the first, second, and third instructions, the select signal b specifies that the selector 13b passes the output of the sign extension circuit 14. Therefore, the 8-bit immediate data "1010 0000" in the fourth instruction is sign-extended to the output of the selector 13b, and the 32-bit immediate data "0000 000" is output.
0 0000 0000 0000 0000 101
0 0000 "is output.

【0055】同一レジスタR2への即値データ書き込み
が、さらに連続して行われようとしているので、書き込
み位置制御信号eは、論理1を継続し、セレクト信号s
eの値は3となる。従って、データ書き込み位置変更部
20への書き込みは、レジスタ25aのみに対して行わ
れる。このとき、セレクタ22は、セレクタ13bの出
力の最下位バイト(b8〜b0)を選択しているので、
レジスタに25aには、2進数“1010 0000”
が書き込まれる。
Since the writing of immediate data to the same register R2 is about to be performed more continuously, the write position control signal e keeps the logic 1 and the select signal s.
The value of e is 3. Therefore, writing to the data write position changing unit 20 is performed only for the register 25a. At this time, since the selector 22 has selected the least significant byte (b8 to b0) of the output of the selector 13b,
In the register 25a, the binary number "1010 0000"
Is written.

【0056】レジスタ25b、25c、25dには、書
き込み許可信号we0、we1およびwe2により書き
込みが許可されないため、書き込みが行われず、それぞ
れ第1、第2および第3の命令で書き込まれた2進数
“0011 1101”、“0000 1001”、
“0000 0000”が保持されている。この段階
で、データ書き込み位置変更部20の出力は、2進数
“1010 0000 0011 1101 0000
1001 0000 0000”となり、レジスタR
2に書き込みたい32ビット即値データが与えられる。
これ以降は、第1、第2、第3の命令と全く同様に処理
が進み、レジスタR2に4バイト、即ち32ビットの即
値データが書き込まれる。
Since writing is not permitted to the registers 25b, 25c, and 25d by the write permission signals we0, we1, and we2, no writing is performed, and the binary numbers written by the first, second, and third instructions, respectively, are used. 0011 1101 "," 0000 1001 ",
“0000 0000” is held. At this stage, the output of the data write position change unit 20 is binary “1010 0000 0011 1101 0000”.
1001 0000 0000 "and register R
2 is provided with 32-bit immediate data to be written.
Thereafter, the processing proceeds in exactly the same manner as the first, second, and third instructions, and 4-byte, that is, 32-bit immediate data is written to the register R2.

【0057】本実施例では、同一オペランドで指定され
る書き込み領域への連続書き込みを検出する連続書き込
み検出部19を制御部2へ設け、また、連続して書き込
み操作が行われる回数を計数する計数部26と、4つの
レジスタ25a、25b、25cおよび25dと、計数
部26での計数結果に応じて、処理結果を取り込むレジ
スタを処理結果のビット部分毎に選択するセレクタ2
2、23および24と、レジスタ25a、25b、25
cおよび25dへの書き込み許可信号を生成する書き込
み信号生成部27から構成されるデータ書き込み位置変
更部20をデータパス1に設けることにより、即値デー
タによる処理結果を、連続的に同一のオペランドで指定
される領域に書き込む際に、連続回数に応じて、指定さ
れる領域の中の書き込み位置が変更されるので、書き込
み位置を命令により指定する必要が無く、書き込み位置
毎の専用命令が不要となる。
In this embodiment, the control section 2 is provided with a continuous write detecting section 19 for detecting continuous write to a write area designated by the same operand, and a count for counting the number of times a write operation is continuously performed. Section 26, four registers 25a, 25b, 25c and 25d, and a selector 2 for selecting a register for taking in the processing result for each bit portion of the processing result according to the counting result of the counting section 26.
2, 23 and 24 and registers 25a, 25b, 25
By providing a data write position changing unit 20 including a write signal generation unit 27 for generating a write permission signal for writing to c and 25d in the data path 1, a processing result by immediate data is continuously designated by the same operand. When writing to an area to be written, the writing position in the specified area is changed according to the number of consecutive times, so that there is no need to specify the writing position with an instruction, and a dedicated instruction for each writing position is not required. .

【0058】そのために、新たな命令の追加や、命令セ
ットの変更のための、情報処理装置の制御部の再設計
や、プログラムミングの各種環境の変更なしに、一つの
命令で扱う即値データのビット長が、所定のビット数に
固定されている場合でも、即値データを読み込み、読み
込まれた即値データを情報処理装置で扱う内部データの
ビット長までつなげて、オペランドで指定される領域内
に書き込むことができる。なお、本実施例では、情報処
理装置は、32ビットの内部データを扱うものとした
が、これに限定されるものではなく、命令中の即値デー
タのビット数の倍数のビット長を有する内部データであ
ればよい。例えば、情報処理装置を24ビット長の内部
データを扱うものに変更する場合には、図1に示した制
御部2には、一切変更は必要なく、データパス部の各構
成要素のビット幅を、24ビットに変更すればよい。
Therefore, without redesigning the control unit of the information processing apparatus and changing various programming environments for adding new instructions and changing the instruction set, the immediate data of one instruction can be handled. Even when the bit length is fixed to a predetermined number of bits, the immediate data is read, the read immediate data is connected to the bit length of the internal data handled by the information processing device, and written in the area specified by the operand. be able to. In this embodiment, the information processing apparatus handles 32-bit internal data. However, the present invention is not limited to this. The internal data having a bit length that is a multiple of the bit number of the immediate data in the instruction is used. Should be fine. For example, when the information processing apparatus is changed to one that handles internal data having a length of 24 bits, the control unit 2 shown in FIG. 1 does not need to make any change, and changes the bit width of each component of the data path unit. , 24 bits.

【0059】また、予め、データパス部を8ビット単位
の基本ブロックで設計しておけば、32ビット構成で
は、この基本ブロックを4ブロック接続して構成し、2
4ビット構成では、3ブロック接続して構成すればよ
い。16ビット、8ビット構成へも同様に変更可能であ
る。データ書き込み位置変更部も本実施例のように、8
ビット単位で構成すれば、例えば、24ビット構成に変
更する場合には、セレクタ22とレジスタ25aを削除
するのみでよい。16ビット構成、8ビット構成へも容
易に変更可能である。これらのビット幅の変更は、命令
体系には、一切影響を与えないため、制御部の設計変更
や、プログラミングの各種環境の変更の必要は無い。ま
た、本実施例では、パイプライン処理を行っているが、
非パイプライン処理で、実行することも可能である。
If the data path section is designed in advance with basic blocks in units of 8 bits, in a 32-bit configuration, the basic blocks are connected by 4 blocks, and
In the case of the 4-bit configuration, the configuration may be made by connecting three blocks. The configuration can be similarly changed to a 16-bit or 8-bit configuration. The data write position changing unit is also 8
If the configuration is made in units of bits, for example, when changing to a 24-bit configuration, it is only necessary to delete the selector 22 and the register 25a. It can be easily changed to a 16-bit configuration or an 8-bit configuration. Since these bit width changes do not affect the instruction system at all, there is no need to change the design of the control unit or change various programming environments. In this embodiment, the pipeline processing is performed.
It is also possible to execute by non-pipeline processing.

【0060】[0060]

【発明の効果】以上説明したように、本発明の情報処理
装置によれば、同一オペランドで指定される書き込み領
域への連続書き込みを検出する連続書き込み検出部を制
御部へ設け、また、例えば、連続して書き込み操作が行
われる回数を計数する計数部と、複数のレジスタと、計
数部での計数結果に応じて、処理結果を取り込むレジス
タを処理結果のビット部分毎に選択する選択部と、レジ
スタへの書き込み許可信号を生成する書き込み信号生成
部から構成される、データ書き込み位置変更部を実行部
に設けることにより、即値データによる処理結果を、連
続的に同一のオペランドで指定される書き込み領域に書
き込む際に、連続回数に応じて、指定される書き込み領
域の中の書き込み位置が変更されるので、書き込み位置
を命令により指定する必要が無く、書き込み位置毎の専
用命令が不要となる。
As described above, according to the information processing apparatus of the present invention, the control unit is provided with the continuous write detection unit for detecting the continuous write to the write area specified by the same operand. A counting unit that counts the number of times that a write operation is continuously performed, a plurality of registers, and a selection unit that selects a register that captures a processing result for each bit portion of the processing result in accordance with the counting result in the counting unit; By providing a data write position change unit in the execution unit, which is composed of a write signal generation unit that generates a write enable signal to the register, the processing result by immediate data can be continuously written in the write area specified by the same operand. When writing to, the write position in the specified write area is changed according to the number of consecutive times. That need is not, a dedicated instruction of each writing position becomes unnecessary.

【0061】そのために、新たな命令の追加や、命令セ
ットの変更のための、情報処理装置の制御部の再設計
や、プログラミングの各種環境やの変更なしに、一つの
命令で扱う即値データのビット長が、所定のビット数に
固定されている場合でも、即値データを読み込み、読み
込まれた即値データを情報処理装置で扱う内部データの
ビット長までつなげて、オペランドで指定される書き込
み領域内に書き込むことができ、対象とする電子システ
ムに応じて必要充分なビット長を有する内部データを扱
うことのできる情報処理装置を提供でき、この情報処理
装置を内蔵した電子機器の小型化および低コスト化を進
めることができる。
For this purpose, the re-design of the control unit of the information processing apparatus for the addition of a new instruction or the change of the instruction set, and the change of the immediate data to be handled by one instruction without changing various programming environments. Even if the bit length is fixed to a predetermined number of bits, the immediate data is read, the read immediate data is connected to the bit length of the internal data handled by the information processing device, and the data is stored in the write area specified by the operand. It is possible to provide an information processing device that can write and can handle internal data having a necessary and sufficient bit length according to a target electronic system, and to reduce the size and cost of an electronic device incorporating the information processing device. Can proceed.

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

【図1】本発明の実施例の構成を示す図である。FIG. 1 is a diagram showing a configuration of an embodiment of the present invention.

【図2】データ書き込み位置変更部の構成を示す図であ
る。
FIG. 2 is a diagram illustrating a configuration of a data write position changing unit.

【図3】従来例の構成を示す図である。FIG. 3 is a diagram showing a configuration of a conventional example.

【図4】従来例の動作の流れを示すフローチャートであ
る。
FIG. 4 is a flowchart showing a flow of an operation of a conventional example.

【図5】命令フォームの説明図である。FIG. 5 is an explanatory diagram of an instruction form.

【図6】命令フォームの説明図である。FIG. 6 is an explanatory diagram of an instruction form.

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

1、3 データパス 2、4 制御部 10 プログラムカウンタ 11 命令メモリ 12a、12b 加算器 13a、13b、13c、22、23、24 セレ
クタ 14 符号拡張回路 15 レジスタファイル 16 算術論理演算器 17 データメモリ 18、40 命令デコーダ 19 連続書き込み検出部 20 データ書き込み位置変更部 21a、21b、21c、21d、21e パイ
プラインレジスタ 25a、25b、25c、25d レジスタ 26 計数部 27 書き込み信号生成部
1, 3 Data path 2, 4 Control unit 10 Program counter 11 Instruction memory 12a, 12b Adders 13a, 13b, 13c, 22, 23, 24 Selector 14 Sign extension circuit 15 Register file 16 Arithmetic and logical operation unit 17 Data memory 18, 40 instruction decoder 19 continuous write detection unit 20 data write position change unit 21a, 21b, 21c, 21d, 21e pipeline register 25a, 25b, 25c, 25d register 26 counting unit 27 write signal generation unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 与えられた命令を解読し制御用の信号を
生成する制御部と、該制御部の生成した制御用の信号に
従って、処理を実行する実行部とを備える情報処理装置
において、前記制御部は、即値データに基づく処理結果
を、同一のオペランドで指定される書き込み領域に対し
て、連続して書き込む操作が行われることを検出する連
続書き込み検出部を有し、前記実行部は、前記連続書き
込み検出部の検出結果に基づいて、連続した書き込みの
回数に応じて、前記書き込み領域の中での書き込み位置
を切り替えるデータ書き込み位置変更部と、前記データ
書き込み位置変更部での変更結果に従って、前記書き込
み領域に、前記即値データに基づく処理結果を書き込む
データ書き込み手段を有することを特徴とする情報処理
装置。
1. An information processing apparatus comprising: a control unit that decodes a given instruction and generates a control signal; and an execution unit that executes a process in accordance with the control signal generated by the control unit. The control unit has a continuous write detection unit that detects that a processing result based on the immediate data is continuously written to a write area specified by the same operand, and the execution unit includes: Based on the detection result of the continuous write detection unit, according to the number of consecutive writes, a data write position change unit that switches the write position in the write area, according to the change result in the data write position change unit An information processing apparatus comprising: a data writing unit that writes a processing result based on the immediate data in the writing area.
【請求項2】 前記データ書き込み位置変更部は、前記
連続書き込み検出部の検出結果に基づいて、前記同一の
オペランドでしていされる書き込み領域に対して、連続
して書き込み操作が行われる回数を計数する計数部と、
与えられた命令中で、直接指定できる即値データのビッ
ト長と同一のビット長を持つ複数のレジスタと、前記計
数部での計数結果に応じて、前記即値データに基づく処
理結果を取り込むレジスタを前記処理結果のビット部分
毎に選択する選択部と、該選択部で選択されたレジスタ
への書き込み許可信号を生成する書き込み信号生成部を
有することを特徴とする請求項1記載の情報処理装置。
2. The data write position change unit, based on a detection result of the continuous write detection unit, determines the number of times that a write operation is continuously performed on a write area performed by the same operand. A counting unit for counting,
In a given instruction, a plurality of registers having the same bit length as the bit length of the immediate data that can be directly specified, and a register for capturing a processing result based on the immediate data in accordance with the counting result in the counting unit are provided. 2. The information processing apparatus according to claim 1, further comprising: a selection unit that selects each bit portion of the processing result; and a write signal generation unit that generates a write enable signal for a register selected by the selection unit.
JP9255960A 1997-09-04 1997-09-04 Information processor Withdrawn JPH1185514A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9255960A JPH1185514A (en) 1997-09-04 1997-09-04 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9255960A JPH1185514A (en) 1997-09-04 1997-09-04 Information processor

Publications (1)

Publication Number Publication Date
JPH1185514A true JPH1185514A (en) 1999-03-30

Family

ID=17285975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9255960A Withdrawn JPH1185514A (en) 1997-09-04 1997-09-04 Information processor

Country Status (1)

Country Link
JP (1) JPH1185514A (en)

Similar Documents

Publication Publication Date Title
US10514922B1 (en) Transfer triggered microcontroller with orthogonal instruction set
TWI489386B (en) Mapping between registers used by multiple instruction sets
JP3592230B2 (en) Data processing device
US6397319B1 (en) Process for executing highly efficient VLIW
US6304954B1 (en) Executing multiple instructions in multi-pipelined processor by dynamically switching memory ports of fewer number than the pipeline
EP1267257A2 (en) Conditional execution per data path slice
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
KR100465388B1 (en) Eight-bit microcontroller having a risc architecture
JP3414209B2 (en) Processor
EP1271305B1 (en) Data processing apparatus
EP0945783A2 (en) Variable length register device
JPH1165839A (en) Instruction control mechanism of processor
US6253305B1 (en) Microprocessor for supporting reduction of program codes in size
JP2001005675A (en) Program converter and processor
US4893235A (en) Central processing unit for a digital computer
US6209080B1 (en) Constant reconstruction processor that supports reductions in code size and processing time
US6889320B1 (en) Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter
US9104426B2 (en) Processor architecture for processing variable length instruction words
JP2000029684A (en) Computer system
JP2703884B2 (en) Data write control method
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
JP3841820B2 (en) Microcomputer
JPH1185514A (en) Information processor
US6393552B1 (en) Method and system for dividing a computer processor register into sectors
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20041207