JPH02128223A - Operational processor - Google Patents

Operational processor

Info

Publication number
JPH02128223A
JPH02128223A JP28311188A JP28311188A JPH02128223A JP H02128223 A JPH02128223 A JP H02128223A JP 28311188 A JP28311188 A JP 28311188A JP 28311188 A JP28311188 A JP 28311188A JP H02128223 A JPH02128223 A JP H02128223A
Authority
JP
Japan
Prior art keywords
instruction
data
decimal
operand
information
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
JP28311188A
Other languages
Japanese (ja)
Inventor
Hiromi Oishi
博見 大石
Takashi Nakagawa
中川 敬司
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
NEC Engineering Ltd
Original Assignee
NEC Corp
NEC Engineering 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 NEC Corp, NEC Engineering Ltd filed Critical NEC Corp
Priority to JP28311188A priority Critical patent/JPH02128223A/en
Publication of JPH02128223A publication Critical patent/JPH02128223A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To speed up operation by checking whether the number of operations or an operation result in a preceding instruction is continuously used in a subsequent instruction or not when a decimal operation instruction continues and using data held in an operational processor when used. CONSTITUTION:A memory 2, a basic instruction operation part 3 and a decimal instruction operation part 4 are connected through a bus 1, and the basic instruction operation part 3 and the decimal instruction operation part 4 are controlled by a controller 5. When the decimal operation instruction continues, operand information of the previous decimal instruction is compared with operand information of the decimal instruction in the middle of execution. When the compared result disagrees, operand data is read from the memory 2, and operand data held inside is used as operational processing data as it is when it agrees. The allignment time of data and a data type conversion time can be eliminated since data used in the previous instruction is used.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は演算処理装置に関し、特にマイクロプログラム
制御によりデータ処理を行う10進演算処理装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an arithmetic processing device, and more particularly to a decimal arithmetic processing device that performs data processing under microprogram control.

(従来の技術) 従来の10進数演算装置では、メモリから命令列をリー
ドし、それからオペランドタイプ、オペランド長、オペ
ランドアドレスを計算した後、このオペランド情報に基
づいてメモリからオペランドをリードし、演算後、再び
メモリに結果値をライトしていた。このように、従来の
演算処理装置では10進演算命令が連続していても特に
意識せずに、同じ処理が行われていた。
(Prior art) A conventional decimal arithmetic device reads an instruction string from memory, calculates the operand type, operand length, and operand address, and then reads the operand from memory based on this operand information. , the result value was written to memory again. In this way, in conventional arithmetic processing devices, even if decimal arithmetic instructions are consecutive, the same processing is performed without any particular awareness.

(発明が解決しようとする課題) 上述した従来の10進数演算装置では、命令毎にオペラ
ンドデータをメモリからリードする時間を費やしていた
(Problems to be Solved by the Invention) In the conventional decimal arithmetic device described above, time is spent reading operand data from memory for each instruction.

ところが、実際の10進数を処理するプログラムでは、
連続する命令列の間である命令の演算結果が次命令のオ
ペランドデータとなることがしばしば起こる。それは、
高級言語(COBOL等)の1ステートメントが複数の
くマシン語)に展開されるため、高級言語の1つのオペ
ランドデータを複数の命令により処理するときに発生す
る。
However, in a program that actually processes decimal numbers,
It often happens that the operation result of a certain instruction during a sequence of consecutive instructions becomes the operand data of the next instruction. it is,
This occurs when one operand data in a high-level language is processed by multiple instructions because one statement in a high-level language (such as COBOL) is expanded into multiple machine languages.

このため、各命令での結果値を演算装置内に保持してお
き次命令で使用するオペランドデータが直前の命令で使
用したオペランド値であれば、そのデータを使用すれば
よい。
Therefore, the result value of each instruction is held in the arithmetic unit, and if the operand data used in the next instruction is the operand value used in the immediately previous instruction, that data can be used.

本発明は各命令で使用するオペランドデータを、メモリ
からリードするのではなく可能ならば、演算装置内に保
持されである、前命令で使用したデータを使うことによ
り演算時間で大きなウェイトを占めるメモリリード時間
データのアライメント時間、さらにデータ型式変換(パ
ック型←→アンバック型)時間をなくす演算処理装置を
促供しようとするものである。
The present invention stores the operand data used in each instruction in the arithmetic unit, if possible, instead of reading it from the memory, and uses the data used in the previous instruction, which takes up a large amount of the computation time. The present invention aims to provide an arithmetic processing device that eliminates read time data alignment time and data format conversion (pack type←→unback type) time.

(課題を解決するための手段) 本発明による演算処理装置は、オペランドデータを記憶
するメモリと、10進演算命令が連続しているときに前
の10進命令のオペランド情報と、現在実行中の10進
命令のオペランド情報とを比較する手段と、この比較結
果が不一致時は、前記メモリからオペランドデータをリ
ードし、一致時は、内部に保持してあるオペランドデー
タをそのまま演算処理データとして使用せしめる手段と
を備える。
(Means for Solving the Problems) An arithmetic processing device according to the present invention includes a memory for storing operand data, operand information of a previous decimal instruction when decimal operation instructions are consecutive, and a memory for storing operand data. A means for comparing operand information of a decimal instruction, and when the comparison result does not match, reads the operand data from the memory, and when a match occurs, causes the internally held operand data to be used as is as arithmetic processing data. and means.

(実施例) 次に本発明について図面を参照して説明する。(Example) Next, the present invention will be explained with reference to the drawings.

第1図は本発明による演算処理装置の一実施例を示すブ
ロック図である。メモリ2、基本命令演算部3.10進
命令演算部4はバス1を介して接続され、基本命令演算
部3.10進命令演算部4は制御装置5にて制御される
FIG. 1 is a block diagram showing an embodiment of an arithmetic processing device according to the present invention. The memory 2, the basic instruction calculation unit 3, and the decimal instruction calculation unit 4 are connected via the bus 1, and the basic instruction calculation unit 3 and the decimal instruction calculation unit 4 are controlled by the control device 5.

基本命令演算部3はメモリ2から命令をフェッチし、そ
の命令が基本命令であれば基本命令演算部3にて演算を
行い、10進命令であると、それをデコードし、10進
演算部4へ通知し、その演算を10進演算部4で実行さ
せる。10進命令は、命令コード部のワード、オペラン
ド1と2のデータの情報部のワードの複数ワードから構
成され、基本命令演算部3が命令をフェッチし、デコー
ドし、データ情報部を必要なワード数、フェッチし10
進演算部4へ通知する。
The basic instruction calculation unit 3 fetches an instruction from the memory 2, and if the instruction is a basic instruction, the basic instruction calculation unit 3 performs the calculation, and if it is a decimal instruction, it is decoded and the decimal calculation unit 4 and causes the decimal calculation unit 4 to execute the calculation. A decimal instruction is composed of multiple words: a word of the instruction code part and a word of the information part of the data of operands 1 and 2. number, fetch 10
The decimal calculation unit 4 is notified.

フリップフロップ6は基本命令演算部3が命令フェッチ
時に前回の命令が10進命令かどうかを記憶し、セット
内容により現在の命令を判定し、10進命令が連続した
か否かで制御装置5がセット/リセットする。つまり、
フリップフロップ6により10進数命令が連続している
か否かがわかる。レジスタ7には前10進数命令のオペ
ランド1.2の情報を格納する。また、レジスタ101
には実行中命令のオペランド1,2の情報が格納される
。102はデータレジスタである。ポインタ105はオ
ペランド1データを格納するレジスタを示すものである
The flip-flop 6 stores whether the previous instruction was a decimal instruction when the basic instruction calculation unit 3 fetches an instruction, determines the current instruction based on the set contents, and controls the control device 5 depending on whether decimal instructions are consecutive. Set/reset. In other words,
The flip-flop 6 determines whether the decimal instructions are consecutive. Register 7 stores information on operands 1.2 of the previous decimal instruction. Also, register 101
Information on operands 1 and 2 of the instruction being executed is stored in . 102 is a data register. Pointer 105 indicates a register that stores operand 1 data.

以下、第2図の流れ図を参照しながら第1図に示す実施
例における制御装置5の動作を説明する。
The operation of the control device 5 in the embodiment shown in FIG. 1 will be described below with reference to the flowchart in FIG. 2.

制御装置5は、F / F ’6のセット内容を判断し
くステップS1)、セットがオフ状態の時は無条件にこ
の情報をもとにしてオペランドアドレス等を計算してオ
ペランド1.2ともにメモリリードの処理に移る(ステ
ップ38)が、セット内容がオンの時は以下の処理を行
う。
The control device 5 determines the set contents of F/F '6 (step S1), and when the set is in the OFF state, unconditionally calculates the operand address etc. based on this information and stores both operands 1 and 2 in the memory. The process moves on to read processing (step 38), and when the set content is on, the following processing is performed.

まず、レジスタ7に格納されている前命令のオペランド
1、オペランド2のデータ長、アドレス、データタイプ
などの情報(以下情報1°、情報2゛と略称する)を演
算装置4に転送し、これら情報1°  2°をレジスタ
101内に格納されている情報1、情報2と順次比較す
る。
First, information such as the data length, address, and data type of operand 1 and operand 2 of the previous instruction stored in the register 7 (hereinafter abbreviated as information 1° and information 2′) is transferred to the arithmetic unit 4. Information 1° and 2° are sequentially compared with information 1 and information 2 stored in the register 101.

最初に情報1と情報1′を比較しくステップS2)、画
情報が等しければ、オペランド1データとしてレジスタ
102に格納されている前命令のオペランド1データを
用い、オペランド2のみをメモリ2からリードして(ス
テップ510)、演算に移る0等しくなければ、情報1
と情報2゜を比較しくステップS3)、もし両者が等し
ければ、オペランド1としてレジスタ102に格納され
ている前命令のオペランド2データを用い、ポインタ1
05を切り替えて(ステップS4)、オペランド2のみ
メモリ2からリードする(ステップ5IO)。
First compare information 1 and information 1' (step S2), and if the image information is equal, read only operand 2 from memory 2 using operand 1 data of the previous instruction stored in register 102 as operand 1 data. (step 510), and proceed to the calculation. If not equal to 0, the information 1
and information 2° (step S3), and if they are equal, the operand 2 data of the previous instruction stored in the register 102 as operand 1 is used, and the pointer 1 is
05 (step S4), and only operand 2 is read from memory 2 (step 5IO).

ステップS3において、情報1と情報2°が等しくなけ
れば、情報2と前命令オペランド情報1’−2’の比較
に移る(ステップ35.S6)。
In step S3, if information 1 and information 2° are not equal, the process moves to a comparison between information 2 and previous instruction operand information 1'-2' (step 35.S6).

まず、情報2と情報1°を比較しくステ・yプS5)、
等しければポインタ105を切り替える(ステップS6
)、この時は、オペランド2として、前命令のオペラン
ド1データを用い、オペランド1のみメモリ2からリー
ドする(ステップ59)0等しくなければ、情報2と情
報2°の比較をする(ステップS7)、情報2と2゛が
等しければオペランド2として、前命令のオペランドデ
ータのみメモリ2からリードする0等しくなければ、オ
ペランド1,2ともにメモリ2からリードする(ステッ
プS8)。
First, compare information 2 and information 1° (step S5),
If they are equal, the pointer 105 is switched (step S6
), at this time, operand 1 data of the previous instruction is used as operand 2, and only operand 1 is read from memory 2 (step 59). If they are not equal to 0, information 2 and information 2° are compared (step S7). , if information 2 and 2' are equal, then only the operand data of the previous instruction is read from memory 2 as operand 2. If they are not equal to 0, both operands 1 and 2 are read from memory 2 (step S8).

以上のような手順でデータをレジスタ102に格納し、
処理を終了するが、この時に制御装置5はレジスタ10
1に格納されている情報1,2をレジスタ7へ再設定す
る。
Store the data in the register 102 according to the above procedure,
The process ends, but at this time the control device 5 registers the register 10.
Information 1 and 2 stored in 1 are reset to register 7.

以後、レジスタ102に格納されているデータの演算に
入る。
Thereafter, calculations are started on the data stored in the register 102.

(発明の効果) 以上説明したように本発明では、マイクロプロダラム制
御によりデータ処理を行う10進演算処理において10
進演算命令が連続する時に前命令での演算数あるいは演
算結果値を引き続いて次命令で用いないかチエツクし、
もし、用いる場合は、演算装置内に保持されているデー
タを使うことにより、データのアライメント時間および
データ型式変換時間を削除することができ、演算の高速
化を計ることができる効果がある。
(Effects of the Invention) As explained above, in the present invention, 10
When decimal operation instructions are consecutive, check whether the operation number or operation result value of the previous instruction will be used in the next instruction,
If used, data held in the arithmetic unit can be used to eliminate data alignment time and data type conversion time, thereby increasing the speed of computation.

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

第1図は本発明による演算処理装置の一実施例を示すブ
ロック図、第2図は情報の比較手順を示す制御フローチ
ャートである。 1・・・バス、2・・・メモリ、3・・・基本命令演算
部、4・・・10進数命令演算部、5・・・制御装置、
6・・・10進数命令が連続することを示すフリップフ
ロップ、7・・・前10進数命令のオペランド1,2の
情報を格納するレジスタ、101・・・実行中命令のオ
ペランド1,2の情報を格納するレジスタ、102・・
・データレジスタ、105・・・オペランド1データを
格納するレジスタを示すポインタ。
FIG. 1 is a block diagram showing an embodiment of an arithmetic processing device according to the present invention, and FIG. 2 is a control flow chart showing an information comparison procedure. DESCRIPTION OF SYMBOLS 1... Bus, 2... Memory, 3... Basic instruction calculation part, 4... Decimal instruction calculation part, 5... Control device,
6: Flip-flop indicating that decimal instructions are consecutive; 7: Register storing information on operands 1 and 2 of the previous decimal instruction; 101: Information on operands 1 and 2 of the instruction being executed. A register storing 102...
- Data register, 105... A pointer indicating the register that stores operand 1 data.

Claims (1)

【特許請求の範囲】[Claims] オペランドデータを記憶するメモリと、10進演算命令
が連続しているときに前の10進命令のオペランド情報
と、現在実行中の10進命令のオペランド情報とを比較
する手段と、この比較結果が不一致時は、前記メモリか
らオペランドデータをリードし、一致時は、内部に保持
してあるオペランドデータをそのまま演算処理データと
して使用せしめる手段とを備えて成ることを特徴とする
演算処理装置。
A memory for storing operand data, a means for comparing operand information of a previous decimal instruction with operand information of a decimal instruction currently being executed when decimal operation instructions are consecutive, and a means for comparing the operand information of the decimal instruction currently being executed, and An arithmetic processing device characterized by comprising means for reading operand data from the memory when there is a mismatch, and for causing the internally held operand data to be used as is as arithmetic processing data when there is a match.
JP28311188A 1988-11-09 1988-11-09 Operational processor Pending JPH02128223A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28311188A JPH02128223A (en) 1988-11-09 1988-11-09 Operational processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28311188A JPH02128223A (en) 1988-11-09 1988-11-09 Operational processor

Publications (1)

Publication Number Publication Date
JPH02128223A true JPH02128223A (en) 1990-05-16

Family

ID=17661369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28311188A Pending JPH02128223A (en) 1988-11-09 1988-11-09 Operational processor

Country Status (1)

Country Link
JP (1) JPH02128223A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445472A (en) * 2016-08-16 2017-02-22 中国科学院计算技术研究所 Character operation acceleration method and apparatus, chip, and processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445472A (en) * 2016-08-16 2017-02-22 中国科学院计算技术研究所 Character operation acceleration method and apparatus, chip, and processor

Similar Documents

Publication Publication Date Title
JPS645330B2 (en)
JPS6250934A (en) Interrupting control system of processor
JPH0523447B2 (en)
JPH02128223A (en) Operational processor
JPS583040A (en) Information processor
JPH056281A (en) Information processor
JPH0222413B2 (en)
JPS61250754A (en) Simple type cache memory
JP2618703B2 (en) High-speed operation processing method of programmable sequence controller
JPH0354632A (en) Arithmetic instruction processor
JPH03164945A (en) Data processor
JPH03204004A (en) Programmable controller
JP2743947B2 (en) Micro program control method
JPS6028014B2 (en) microprocessor
JPS62269237A (en) Data processor
JPH11119995A (en) Device and method for processing data
JPH03154929A (en) Central processing unit
JPS6022247A (en) Micro instruction control system
JPS6349943A (en) Arithmetic processing unit
JPS6349942A (en) Arithmetic processing unit
JPH01223565A (en) Information processor
JPH01223563A (en) Information processor
JPS63305449A (en) Microprocessor system
JPH04167027A (en) Parallel arithmetic processing unit
JPH06168216A (en) Coprocessor control method