JPS62147545A - Processing system for transfer instruction of information processor - Google Patents

Processing system for transfer instruction of information processor

Info

Publication number
JPS62147545A
JPS62147545A JP28775185A JP28775185A JPS62147545A JP S62147545 A JPS62147545 A JP S62147545A JP 28775185 A JP28775185 A JP 28775185A JP 28775185 A JP28775185 A JP 28775185A JP S62147545 A JPS62147545 A JP S62147545A
Authority
JP
Japan
Prior art keywords
data
transfer
register
bytes
arithmetic
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
JP28775185A
Other languages
Japanese (ja)
Inventor
Nobuyuki Shimura
志村 伸之
Toshinori Kuwabara
桑原 敏憲
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP28775185A priority Critical patent/JPS62147545A/en
Publication of JPS62147545A publication Critical patent/JPS62147545A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To produce the transfer data with high efficiency by providing a shifter control part which can decide the number of shifts based on the difference between both data areas and a mechanism which can regard the partial data width as four bytes. CONSTITUTION:A shifter control part 1-10 gives the arithmetic output of an arithmetic logic unit 1-4 to a shift arithmetic unit 1-3 as the shift number, a store data register 1-12 can decide whether only the upper half, the lower half or both upper and lower halves are set when the data is set from a certain register and a shifter input part 1-9 can combine the upper data at one side and the lower data at the other side and supply them to the unit 1-3 are provided to the titled system. Thus the executing time of a transfer instruction can be shortened without increasing the hardware quantity so much in case the transfer transmitter data area address and the transfer receiver data area address overlap with each other by a difference of eight bytes or less.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は情報処理装置における転送命令処理方式に係り
、特に転送命令の転送元データエリアと転送先データエ
リアがオーバーラツプした場合に好適な転送命令処理方
式に関する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a transfer command processing method in an information processing device, and particularly to a transfer command processing method suitable for when the transfer source data area and the transfer destination data area of the transfer command overlap. Regarding the method.

〔発明の背景〕[Background of the invention]

転送命令に於て、転送元データエリアと転送先データエ
リアがオーバーラツプしていると、主記憶装置へのスト
ア動作と参照が重なり、実行時間が遅くなって(・た。
In a transfer command, if the transfer source data area and transfer destination data area overlap, the store operation and reference to the main memory overlap, slowing down the execution time.

上記両データエリアの差が1バイトのケースはプログラ
ムで多用されるため、従来機でも高速に処理できるよう
になっていたが、それ以外のオーバーラツプケースは配
慮されていなかりた。尚、転送命令の具体的動作をのべ
たものとして、アイ・ビー・エム システム1570 
 プリンシプルズ オプオペレーシlン(IBM Sy
stem/ 370 Pr1nciples ofOp
eration )がある0 〔発明の目的〕 本発明の目的は、転送元データエリアと転送先データエ
リアが8バイト以下の差でオーノクーラップしている時
の転送命令の実行時間を、ハードウェアの大巾な増大な
く、短縮する処理方式を提供することにある。
The case in which the difference between the two data areas is 1 byte is often used in programs, so it was possible to process it at high speed even with conventional machines, but other overlap cases were not taken into account. In addition, as a description of the specific operation of the transfer command, IBM System 1570
Principles of Operation (IBM Systems)
stem/ 370 Pr1nciples of Op
[Object of the Invention] An object of the present invention is to reduce the execution time of a transfer instruction when the transfer source data area and the transfer destination data area are overlapping with a difference of 8 bytes or less. The purpose is to provide a processing method that shortens the processing without significant increase.

〔発明の概要〕[Summary of the invention]

転送命令で、転送元データエリアと転送先データエリア
が8バイト以下の差でオーバーラツプしているならば、
転送元データエリアの先頭の8バイトのデータさえわか
れば、全ての転送データは実際に主記憶装置を参照しな
(ても生成できる。しかし、ハードウェア処理系が8バ
イトデータ用に作られている場合は、例えば両データエ
リアの差が5.5,6.7バイトの時に効率良く転送デ
ータを生成することができず、命令実行が遅くなってい
た。本発明では、両データエリアの差をもとにシフト数
を決められるシフタ制御部と、一部データ巾を4バイト
とみなせる機構を付加する事により、効率良く転送デー
タを生成できる様にしたものである。
In a transfer command, if the transfer source data area and transfer destination data area overlap with a difference of 8 bytes or less,
As long as the first 8 bytes of data in the transfer source data area are known, all transfer data can be generated without actually referring to the main memory. However, if the hardware processing system is not designed for 8 bytes of data, For example, when the difference between both data areas is 5.5 or 6.7 bytes, transfer data cannot be efficiently generated and instruction execution becomes slow. By adding a shifter control unit that can determine the number of shifts based on the number of shifts, and a mechanism that partially treats the data width as 4 bytes, it is possible to efficiently generate transfer data.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を第1図に従って説明する。演
算装置1は制御記憶装置1−1からマイクロプログラム
を1ステツプずつ読み出し、演算制御部1−2で解読し
、シフト演算器1−3゜算術論理演算器1−4.及び各
レジスタを制御して処理を進める。演算装置1はシステ
ム制御装置2を経由して主記憶装置3との間で8バイト
単位でデータの転送を行なう。4バイトのストアアドレ
スレジスタ1−5以外のレジスタは8バイトの大きさで
あり、シフト演算器1−3 、 ]術論理演算器1−4
は8バイトのデータを演算できる。算術論理演算器1−
4はレジスタAj−6,レジスタB1−7を入力とし、
演算結果をレジスタC1−8にセットする。シフト演算
器1−3の入力はシフタ入力部1−9で制御され、レジ
スタA1−6・を入力とするかレジスタB1−7を入力
とするかは、入力データの上位4バイトと下位4バイト
で別々に選択される。演算はシフタ制御部1−10で制
御される。シフタ制御部1−10は、レジスタC1−8
の下位3ビツトの値を8倍した値をシフト数として演算
を制御することもできる。演算結果はレジスタDI−1
1にセットする。ストアデータレジスタ1−12は、レ
ジスタc1−8又はレジスタDI−11からのデータを
セットするとき、上位4バイトだけセットするか、下位
4バイトだけセットするか、8バイト全部セットするか
を選択できる。ストアデータレジスタ1−12のデータ
はストアアドレスレジスタ1−5のデータと共にシステ
ム制御装置2に転送され、マイクロプロクラムがストア
動作を指定すると主記憶装置3にデータが書き込まれる
。主記憶装置3から読み出されたデータはシステム制御
装置2によってメモリデータレジスタ1−13にセット
され、マイクロプログラムの制御でレジスタA1−6.
レジスタB1−7へデータが転送される。
An embodiment of the present invention will be described below with reference to FIG. The arithmetic unit 1 reads the microprogram one step at a time from the control storage device 1-1, decodes it in the arithmetic control unit 1-2, and executes shift arithmetic units 1-3, arithmetic logic units 1-4, . and controls each register to proceed with the process. The arithmetic device 1 transfers data to and from the main storage device 3 via the system control device 2 in units of 8 bytes. The registers other than the 4-byte store address registers 1-5 are 8 bytes in size, and include shift operation units 1-3, ] logical operation units 1-4.
can operate on 8 bytes of data. Arithmetic logic unit 1-
4 inputs register Aj-6 and register B1-7,
Set the operation result in register C1-8. The input of the shift calculator 1-3 is controlled by the shifter input section 1-9, and whether register A1-6 or register B1-7 is input depends on the upper 4 bytes and lower 4 bytes of the input data. are selected separately. The calculation is controlled by a shifter control section 1-10. The shifter control unit 1-10 has a register C1-8.
It is also possible to control the calculation by using a value obtained by multiplying the value of the lower 3 bits by 8 as the shift number. The calculation result is in register DI-1
Set to 1. For store data registers 1-12, when setting data from registers c1-8 or register DI-11, it is possible to select whether to set only the upper 4 bytes, only the lower 4 bytes, or set all 8 bytes. . The data in the store data registers 1-12 is transferred to the system controller 2 together with the data in the store address registers 1-5, and when the microprogram specifies a store operation, the data is written into the main memory 3. The data read from the main memory device 3 is set in the memory data registers 1-13 by the system control device 2, and the registers A1-6.
Data is transferred to registers B1-7.

システム制御装置2は主記憶装置3から命令を読み出し
、解読し、必要なデータをレジスタにセットした後、マ
イクロプログラムを起動する。
The system control device 2 reads instructions from the main storage device 3, decodes them, sets necessary data in registers, and then starts the microprogram.

以下、命令が転送命令であり、転送元データエリアより
も転送先データエリアが高位アドレスにあり、かつ両エ
リアがオーバーラツプしている場合について説明する。
A case will be described below in which the instruction is a transfer instruction, the destination data area is at a higher address than the source data area, and the two areas overlap.

この場合、システム制御装置は図2に示す様にデータを
セットし、マイクロプログラムを起動する。マイクロプ
ログラムの動作を図5に示す。ステップ301〜503
は前処理であり、図に示した以外にも、転送元データエ
リアアドレスと転送先データエリアアドレスの差が8バ
イト以下かどうかも調べる必要があるが、略しである。
In this case, the system controller sets data as shown in FIG. 2 and starts the microprogram. FIG. 5 shows the operation of the microprogram. Steps 301-503
is preprocessing, and in addition to what is shown in the figure, it is also necessary to check whether the difference between the transfer source data area address and the transfer destination data area address is 8 bytes or less, but this is omitted.

ここでは、両エリアのアドレスの差が5バイトであると
して説明する。ステップ601で、両エリアのアドレス
の差、すなわち5がレジスタCにセットされる。ステッ
プ505でストアデータ上位がセットされ、ステップ5
04でストアデータ下位がセットされ、ストアデータが
8バイトそろった所でストア動作を指定する。ステップ
605では、次の8バイトストアデータの上位をセット
するが、この時レジスタAの上位5バイトのデータはレ
ジスタBの下位5バイトのデータに等しい。すなわち。
Here, explanation will be given assuming that the difference between the addresses of both areas is 5 bytes. At step 601, the difference between the addresses of both areas, that is, 5, is set in register C. In step 505, the upper store data is set, and in step 5
The lower store data is set at 04, and the store operation is specified when all 8 bytes of store data are available. In step 605, the upper half of the next 8-byte store data is set, and at this time, the upper 5 bytes of register A are equal to the lower 5 bytes of register B. Namely.

これはステップ303に於けるレジスタA、レジスタB
の状態と同じであり、ステップ305と304を繰り返
すことにより、次々と8バイトのデータが作られる。ス
トアアドレスレジスタを+8しながら、必要な回数ステ
ップ305と304を実行する。
This is register A and register B in step 303.
By repeating steps 305 and 304, 8 bytes of data are created one after another. Steps 305 and 304 are executed as many times as necessary while increasing the store address register by 8.

転送元データエリアアドレスと転送先データエリアアド
レスの差が2又は30時は、前処理中で2バイト又は6
バイトのデータを2つ並べ、以後は両エリアの差が4又
は6と同様に処理できる。
If the difference between the transfer source data area address and the transfer destination data area address is 2 or 30, the difference between the transfer source data area address and the transfer destination data area address is 2 or 6 bytes during preprocessing.
After arranging two byte data, processing can be performed in the same way as if the difference between both areas is 4 or 6.

以上説明した様に、本発明によれば2サイクルで次々と
8バイトデータを生成、主記憶装置ヘスドアする事がで
きる。
As explained above, according to the present invention, 8-byte data can be successively generated and stored in the main memory in two cycles.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、転送元データエリアアドレスと転送先
データアドレスが8バイト以下の差で重なっている時の
転送命令の実行時間を、大巾なハードウェアの増大なく
、短縮することができる。
According to the present invention, the execution time of a transfer instruction when the transfer source data area address and the transfer destination data address overlap with a difference of 8 bytes or less can be shortened without significantly increasing hardware.

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

第1図は本発明の一実施例の演算装置の機能ブロック図
、第2図は初期状態の説明図、第3図はマイクロプログ
ラムの処理手順を示す説明図である。 1・・・演算装置、    1−1・・・制御記憶装置
、1−2・・・演算制御部、   1−3・・・シフト
演算器、1−4・・・算術論理演算器、 1−5・・・ストアアドレスレジスタ、1−6・・・レ
ジスタA、    1−7・・・レジスタB。 1−8・・・レジスタC,1−9・・・シフタ入力部、
1−10・・・シフタ制御部、   1−11・・・レ
ジスタD。 1−12・・・ストアデータレジスタ、1−13・・・
メモリデータレジスタ、2・・・システム制御装置、 3・・・主記憶装置。
FIG. 1 is a functional block diagram of an arithmetic unit according to an embodiment of the present invention, FIG. 2 is an explanatory diagram of an initial state, and FIG. 3 is an explanatory diagram showing a processing procedure of a microprogram. DESCRIPTION OF SYMBOLS 1... Arithmetic device, 1-1... Control storage device, 1-2... Arithmetic control unit, 1-3... Shift operator, 1-4... Arithmetic logic operator, 1- 5...Store address register, 1-6...Register A, 1-7...Register B. 1-8...Register C, 1-9...Shifter input section,
1-10...Shifter control unit, 1-11...Register D. 1-12...Store data register, 1-13...
Memory data register, 2... system control device, 3... main storage device.

Claims (1)

【特許請求の範囲】[Claims] 1、マイクロプログラムにより制御される一つ又は複数
の算術論理演参器、シフト演算器、及びレジスタを中心
に構成される演算装置において、前記参術論理演算器の
演算出力をシフト数としてシフタに与えるシフタ制御部
と、あるレジスタからデータをセットするとき、上位半
分だけセットするか、下位半分だけセットするか、上位
下位合わせてセットするかを選択できるストアデータレ
ジスタと、2つのレジスタから一方の上位データと他方
の下位データを組み合わせてシフト演算器に入力するこ
とができるシフタ入力部をもつことを特徴とする情報処
理装置における転送命令処理方式。
1. In an arithmetic unit configured mainly of one or more arithmetic logic processors, shift processors, and registers controlled by a microprogram, the calculation output of the arithmetic logic processor is used as a shift number in a shifter. When setting data from a certain register, there is a store data register that allows you to select whether to set only the upper half, only the lower half, or both the upper and lower half. A transfer command processing method in an information processing device, characterized by having a shifter input unit that can combine upper data and the other lower data and input it to a shift calculator.
JP28775185A 1985-12-23 1985-12-23 Processing system for transfer instruction of information processor Pending JPS62147545A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28775185A JPS62147545A (en) 1985-12-23 1985-12-23 Processing system for transfer instruction of information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28775185A JPS62147545A (en) 1985-12-23 1985-12-23 Processing system for transfer instruction of information processor

Publications (1)

Publication Number Publication Date
JPS62147545A true JPS62147545A (en) 1987-07-01

Family

ID=17721287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28775185A Pending JPS62147545A (en) 1985-12-23 1985-12-23 Processing system for transfer instruction of information processor

Country Status (1)

Country Link
JP (1) JPS62147545A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708800A (en) * 1994-09-27 1998-01-13 Mitsubishi Denki Kabushiki Kaisha High speed microprocessor for processing and transferring N-bits of M-bit data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708800A (en) * 1994-09-27 1998-01-13 Mitsubishi Denki Kabushiki Kaisha High speed microprocessor for processing and transferring N-bits of M-bit data

Similar Documents

Publication Publication Date Title
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPS62147545A (en) Processing system for transfer instruction of information processor
JPH02500692A (en) Integration of computational elements in multiprocessor computers
JP2567134B2 (en) Bit field logical operation processing device and monolithic microprocessor having the same
JP2826309B2 (en) Information processing device
JPH0612253A (en) Microcomputer
JPH0218732B2 (en)
JPS58176751A (en) Decoding unit of instruction word
JP2883489B2 (en) Instruction processing unit
JP2583614B2 (en) Vector arithmetic unit
JP2982129B2 (en) Micro program controller
JP2504535B2 (en) Bus unit configuration method
JPH031234A (en) Information processor
JPH0752416B2 (en) Microcomputer system
JPS5896346A (en) Hierarchical arithmetic system
JPS60215247A (en) Arithmetic processor
JPS62194545A (en) Program rewriting device for data flow type computer
JPH033047A (en) Memory with arithmetic function
JPH02110636A (en) Debugging device for tag architecture machine and its compiler
JPS6230649B2 (en)
JPH0399321A (en) Instruction control system
JP2002073326A (en) Program executing device and program executing method
JPS6130295B2 (en)
JPH0311423A (en) String data processing mechanism