JPH04289935A - Computer system - Google Patents

Computer system

Info

Publication number
JPH04289935A
JPH04289935A JP8081191A JP8081191A JPH04289935A JP H04289935 A JPH04289935 A JP H04289935A JP 8081191 A JP8081191 A JP 8081191A JP 8081191 A JP8081191 A JP 8081191A JP H04289935 A JPH04289935 A JP H04289935A
Authority
JP
Japan
Prior art keywords
bytes
byte
data
transfer
processing
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
JP8081191A
Other languages
Japanese (ja)
Inventor
Katsuhiro Hayashi
林  克博
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP8081191A priority Critical patent/JPH04289935A/en
Publication of JPH04289935A publication Critical patent/JPH04289935A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

PURPOSE:To reduce the execution step for a transfer, and to execute the processing at a high speed by dividing a transfer of a fraction part before and after a memory to be transferred, and a transfer of 8 bytes each from an 8-byte boundary in which the memory is accessed quickly. CONSTITUTION:A storage device 4 contains many memory areas 7 constituted of plural registers R1-Rn of arbitrary length of >=256 bytes for storing the data by an 8-byte boundary unit. In a processor 6 of a controller 1, at the time of executing a transfer to one memory area 7, data of a fraction byte to a first 8-byte boundary is transferred by a heat processing means 8. Subsequently, the data is transferred by an 8-byte unit at every 8-byte boundary by an intermediate processing means 9, and the data of a fraction the tail end byte of less 8 bytes is transferred by a tail end processing means 10.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、RISC(Reduc
ed Instruction Set Comput
er) 方式のコンピュータ装置におけるメモリ転送に
利用する。本発明は、メモリ転送処理を高速化すること
ができるコンピュータ装置に関する。
[Industrial Application Field] The present invention is directed to RISC (Reduc
ed Instruction Set Compute
er) is used for memory transfer in computer equipment. The present invention relates to a computer device that can speed up memory transfer processing.

【0002】0002

【従来の技術】従来、RISC方式のコンピュータ装置
でのメモリ間転送は、CISC(Complex In
struction Set Computer) 方
式のコンピュータ装置のように文字列転送命令がないた
め、1バイトずつレジスタ上でロードおよびストアを繰
り返していた。
2. Description of the Related Art Conventionally, memory-to-memory transfer in a RISC-based computer device is performed using CISC (Complex In
Since there is no character string transfer instruction unlike in a computer system using the ``Struction Set Computer'' method, loads and stores are repeated on registers one byte at a time.

【0003】0003

【発明が解決しようとする課題】8バイト単位のメモリ
アクセスが速いRISC方式のコンピュータ装置による
従来の8バイト境界からのメモリ間転送は、1バイトず
つレジスタ上でロードするか、ストアするかを繰り返し
ているために、本来備えている処理速度性能が発揮でき
ない問題があった。
[Problem to be Solved by the Invention] Conventional memory-to-memory transfer from an 8-byte boundary using a RISC computer system that allows quick memory access in 8-byte units repeatedly loads or stores each byte on a register. Because of this, there was a problem that the processing speed performance originally provided could not be achieved.

【0004】本発明はこのような問題を解決するもので
、データ転送のための実行ステップを削減し、処理速度
を高めることができる装置を提供することを目的とする
[0004] The present invention solves these problems and aims to provide an apparatus that can reduce the number of execution steps for data transfer and increase processing speed.

【0005】[0005]

【課題を解決するための手段】本発明は、制御装置、お
よび記憶装置を備え、前記制御装置に、演算装置および
処理装置を含み、前記記憶装置に、8バイト境界単位で
データを格納する 256バイト以上の任意の長さのメ
モリエリアを多数含むコンピュータ装置において、前記
処理装置に、一つのメモリエリアに転送を行うとき、最
初の8バイト境界までの端数バイトのデータを転送する
先頭処理手段と、8バイト境界ごとに8バイト単位でデ
ータを転送する中間処理手段と、最後尾の8バイト未満
の端数バイトのデータを転送する最後尾処理手段と、前
記各手段は前記の順に起動させる手段とを備えたことを
特徴とする。
[Means for Solving the Problems] The present invention includes a control device and a storage device, the control device includes an arithmetic unit and a processing device, and the storage device stores data in units of 8-byte boundaries.256 In a computer device including a large number of memory areas having an arbitrary length of bytes or more, the processing device includes a first processing means for transferring fractional byte data up to a first 8-byte boundary when transferring data to one memory area; , an intermediate processing means for transferring data in 8-byte units at every 8-byte boundary, a tail processing means for transferring data of fractional bytes less than the last 8 bytes, and means for starting each of the means in the above-mentioned order. It is characterized by having the following.

【0006】[0006]

【作用】内容の異なる 256バイト以上の任意の長さ
のメモリエリアにデータを転送するときに、まず、最初
の8バイト境界までの端数バイトを転送し、次に8バイ
ト境界ごとに8バイトずつ転送し、最後に最後尾の8バ
イト未満の端数バイトを転送する。
[Operation] When transferring data to a memory area of arbitrary length of 256 bytes or more, first transfer fractional bytes up to the first 8-byte boundary, then 8 bytes at each 8-byte boundary. Finally, the last fractional bytes less than 8 bytes are transferred.

【0007】このように、転送すべきバイト数の前後の
端数部分の転送とメモリアクセスの速い8バイト境界か
らの8バイトずつの転送とを分けて実施することにより
、転送のための実行ステップを削減し、処理を高速化す
ることができる。
In this way, by separately performing the transfer of the fractional portion before and after the number of bytes to be transferred and the transfer of 8 bytes at a time from the 8-byte boundary where memory access is quick, the execution steps for the transfer can be simplified. can be reduced and processing speed can be increased.

【0008】[0008]

【実施例】次に、本発明実施例を図面に基づいて説明す
る。図1は本発明実施例の構成を示すブロック図である
Embodiments Next, embodiments of the present invention will be explained based on the drawings. FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【0009】本発明実施例は、制御装置1、入力装置2
、出力装置3、および記憶装置4を備え、制御装置1に
、演算装置5および処理装置6を含み、記憶装置4に、
8バイト境界単位でデータを格納する 256バイト以
上の任意の長さの複数のレジスタR1〜Rnで構成され
るメモリエリア7を多数含み、さらに、本発明の特徴と
して、処理装置6に、一つのメモリエリア7に転送を行
うとき、最初の8バイト境界までの端数バイトのデータ
を転送する先頭処理手段8と、8バイト境界ごとに8バ
イト単位でデータを転送する中間処理手段9と、最後尾
の8バイト未満の端数バイトのデータを転送する最後尾
処理手段10と、前記各手段には前記の順に起動させる
手段とを備える。
The embodiment of the present invention includes a control device 1 and an input device 2.
, an output device 3, and a storage device 4, the control device 1 includes an arithmetic device 5 and a processing device 6, and the storage device 4 includes:
It includes a large number of memory areas 7 consisting of a plurality of registers R1 to Rn of any length of 256 bytes or more, which store data in units of 8-byte boundaries. When transferring data to the memory area 7, there is a first processing means 8 that transfers fractional byte data up to the first 8-byte boundary, an intermediate processing means 9 that transfers data in 8-byte units at every 8-byte boundary, and a last processing means 8 that transfers data in fractional bytes up to the first 8-byte boundary. The last processing means 10 transfers fractional byte data of less than 8 bytes, and means for activating each of the means in the order described above is provided.

【0010】次に、このように構成された本発明実施例
の動作について説明する。図2は本発明実施例における
データ転送処理の全体の流れを示す流れ図、図3は本発
明実施例の先頭処理の流れを示す流れ図、図4は本発明
実施例の中間処理の流れを示す流れ図、図5は本発明実
施例の最後尾処理の流れを示す流れ図、図6は本発明実
施例におけるメモリエリアXからメモリエリアYに転送
するときの動作を説明する図である。
Next, the operation of the embodiment of the present invention constructed as described above will be explained. FIG. 2 is a flowchart showing the overall flow of data transfer processing in the embodiment of the present invention, FIG. 3 is a flowchart showing the flow of the head processing in the embodiment of the invention, and FIG. 4 is a flowchart showing the flow of intermediate processing in the embodiment of the invention. , FIG. 5 is a flowchart showing the flow of the tail end processing in the embodiment of the present invention, and FIG. 6 is a diagram illustrating the operation when transferring from memory area X to memory area Y in the embodiment of the present invention.

【0011】本発明実施例における処理は図2に示すよ
うに、先頭処理(S1)、中間処理(S2)、最後尾処
理(S3)により構成される。
[0011] As shown in FIG. 2, the processing in the embodiment of the present invention is comprised of a header process (S1), an intermediate process (S2), and a tailer process (S3).

【0012】まず、先頭処理手段8による先頭処理(S
1)では図3に示すように、最初の8バイト境界までの
端数バイトを転送する。すなわち、図2に示す転送元X
の先頭アドレスを含む8バイト境界アドレスPxと転送
先Yの同様アドレスPyを求める(ステップ11) 。 このときPx、PyからX、Yへの8バイト境界内オフ
セットa、bも同時に求める。次いで、一個8バイト長
の連続するレジスタR1、R2にPxから16バイトを
ロードし、同じく8バイト長のレジスタR3にPyから
の8バイトをロードする(ステップ12) 。
First, the leading processing means 8 performs the leading processing (S
In 1), as shown in FIG. 3, fractional bytes up to the first 8-byte boundary are transferred. In other words, the transfer source X shown in FIG.
The 8-byte boundary address Px including the first address of the transfer destination Y and the similar address Py of the transfer destination Y are determined (step 11). At this time, offsets a and b within the 8-byte boundary from Px and Py to X and Y are also obtained at the same time. Next, 16 bytes from Px are loaded into consecutive registers R1 and R2, each having a length of 8 bytes, and 8 bytes from Py are loaded into register R3, which is also 8 bytes long (step 12).

【0013】次に、PxからXまでのバイトオフセット
aとPyからYまでのバイトオフセットbとの大きさを
比較する(ステップ13) 。a≧bのときは、a−b
をシフト数sとし、処理フラグfをoffとしてレジス
タR1とR2をsバイト左へダブルシフト(連続したレ
ジスタ2個のシフト命令で、左シフトの場合下位レジス
タの内容は変化しない)する。
Next, the magnitudes of the byte offset a from Px to X and the byte offset b from Py to Y are compared (step 13). When a≧b, a-b
is the shift number s, the processing flag f is turned off, and the registers R1 and R2 are double shifted to the left by s bytes (with a shift command for two consecutive registers, in the case of a left shift, the contents of the lower registers do not change).

【0014】また、a<bのときは、b−aをシフト数
sとし、処理フラグfをonとしてレジスタR1をsバ
イト右へシフトする(ステップ14〜17) 。
When a<b, the shift number s is set to b-a, the processing flag f is turned on, and the register R1 is shifted to the right by s bytes (steps 14 to 17).

【0015】次いで、レジスタR3上にPyが指す8バ
イトにストアする情報をレジスタR1のシフトとマスク
データとのANDあるいはOR命令によって作成する(
ステップ18〜1a) 。ここでマスク1は上位bバイ
トがゼロで残りがすべて1の8バイトデータである。マ
スク2はマスク1の捕数であり、マスクデータはマスク
生成命令で作成する。
Next, the information to be stored in the 8 bytes pointed to by Py on register R3 is created by an AND or OR instruction of the shift of register R1 and the mask data (
Steps 18-1a). Here, mask 1 is 8-byte data in which the upper b bytes are zero and the rest are all ones. Mask 2 is a capture number of Mask 1, and mask data is created by a mask generation command.

【0016】その後、レジスタR3の内容をPyが指す
場所にストアし(ステップ1b) 、転送すべきバイト
数nから今転送した(8−b)バイト分を引き、Px、
Pyを8バイトずらす(ステップ1c〜1d)。
After that, store the contents of register R3 in the location pointed to by Py (step 1b), subtract the (8-b) bytes just transferred from the number of bytes to be transferred, and obtain Px,
Shift Py by 8 bytes (steps 1c to 1d).

【0017】次に、中間処理手段9による中間処理(S
2)について説明する。中間処理では図4に示すように
8バイト境界からの8バイト単位の転送を行う。転送す
べきバイト数nが8より小さくなるまで次に説明する処
理を順次繰り返す(ステップ21) 。fがonならば
レジスタR1にPxが指す8バイトをロードし(ステッ
プ22〜23) 、レジスタR1、R2を左にsバイト
分ダブルシフトして得たR1の内容をPyが指す8バイ
トにストアする(ステップ24〜25) 。次いで、n
から今転送した8バイト分を引き、PxとPyを8バイ
トずらし、そのPxから16バイトを連続するレジスタ
R1、R2へロードする(ステップ26〜28) 。
Next, intermediate processing (S
2) will be explained. In the intermediate processing, as shown in FIG. 4, transfer is performed in units of 8 bytes from an 8-byte boundary. The process described below is sequentially repeated until the number n of bytes to be transferred becomes smaller than 8 (step 21). If f is on, load the 8 bytes pointed to by Px into register R1 (steps 22 to 23), double shift registers R1 and R2 to the left by s bytes, and store the obtained contents of R1 into the 8 bytes pointed to by Py. (Steps 24-25). Then n
Subtract the 8 bytes just transferred from , shift Px and Py by 8 bytes, and load 16 bytes from Px into consecutive registers R1 and R2 (steps 26 to 28).

【0018】最後尾処理手段10による最後尾処理 (
S3)では、図5に示すように最後尾の8バイト未満の
端数バイトの転送を行う。すなわち、中間処理(S2)
終了時nがゼロなら終了し、ゼロ以外のときにはfがo
nならレジスタR1を左にsバイトシフトする(ステッ
プ31〜33) 。次いで、先頭処理(S1)のステッ
プ18〜1b同様に端数バイトを転送する (ステップ
34〜38) 。ここでマスク3は上位nバイトが1で
残りがすべてゼロの8バイトデータである。マスク2は
マスク1の捕数であり、マスクデータはマスク生成命令
で作成する。
The last tail processing by the last tail processing means 10 (
In S3), as shown in FIG. 5, fractional bytes less than the last 8 bytes are transferred. That is, intermediate processing (S2)
At the end, if n is zero, it is finished, and if it is other than zero, f is o.
If n, register R1 is shifted to the left by s bytes (steps 31 to 33). Next, fractional bytes are transferred (steps 34 to 38) in the same way as steps 18 to 1b of the head processing (S1). Here, mask 3 is 8-byte data in which the upper n bytes are 1 and the rest are all zeros. Mask 2 is a capture number of Mask 1, and mask data is created by a mask generation command.

【0019】[0019]

【発明の効果】以上説明したように本発明によれば、転
送すべきメモリの前後の端数部分の転送とメモリアクセ
スの速い8バイト境界からの8バイトずつの転送を分け
ることにより、転送のための実行ステップを削減し、処
理を高速化できる効果がある。
As explained above, according to the present invention, by separating the transfer of the fractional portion before and after the memory to be transferred and the transfer of 8 bytes each from the 8-byte boundary where memory access is fast, the transfer can be performed easily. This has the effect of reducing the number of execution steps and speeding up the processing.

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

【図1】  本発明実施例の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】  本発明実施例におけるデータ転送処理の全
体の流れを示す流れ図。
FIG. 2 is a flowchart showing the overall flow of data transfer processing in the embodiment of the present invention.

【図3】  本発明実施例の先頭処理の流れを示す流れ
図。
FIG. 3 is a flowchart showing the flow of head processing in the embodiment of the present invention.

【図4】  本発明実施例の中間処理の流れを示す流れ
図。
FIG. 4 is a flowchart showing the flow of intermediate processing according to the embodiment of the present invention.

【図5】  本発明実施例の最後尾処理の流れを示す流
れ図。
FIG. 5 is a flowchart showing the flow of tail end processing in the embodiment of the present invention.

【図6】  本発明実施例におけるメモリエリアXから
メモリエリアYに転送するときの動作説明図。
FIG. 6 is an explanatory diagram of the operation when transferring from memory area X to memory area Y in the embodiment of the present invention.

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

1    制御装置 2    入力装置 3    出力装置 4    記憶装置 5    演算装置 6    処理装置 7    メモリエリア 8    先頭処理手段 9    中間処理手段 10    最後尾処理手段 1 Control device 2 Input device 3 Output device 4. Storage device 5 Arithmetic device 6 Processing equipment 7 Memory area 8 Head processing means 9. Intermediate processing means 10 Last processing means

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  制御装置、および記憶装置を備え、前
記制御装置に、演算装置および処理装置を含み、前記記
憶装置に、8バイト境界単位でデータを格納する256
バイト以上の任意の長さのメモリエリアを多数含むコン
ピュータ装置において、前記処理装置に、一つのメモリ
エリアに転送を行うとき、最初の8バイト境界までの端
数バイトのデータを転送する先頭処理手段と、8バイト
境界ごとに8バイト単位でデータを転送する中間処理手
段と、最後尾の8バイト未満の端数バイトのデータを転
送する最後尾処理手段と、前記各手段は前記の順に起動
させる手段とを備えたことを特徴とするコンピュータ装
置。
1. A 256-bit computer comprising a control device and a storage device, wherein the control device includes an arithmetic unit and a processing device, and the storage device stores data in units of 8-byte boundaries.
In a computer device including a large number of memory areas having an arbitrary length of bytes or more, the processing device includes a first processing means for transferring fractional byte data up to a first 8-byte boundary when transferring data to one memory area; , an intermediate processing means for transferring data in 8-byte units at every 8-byte boundary, a tail processing means for transferring data of fractional bytes less than the last 8 bytes, and means for starting each of the means in the above-mentioned order. A computer device comprising:
JP8081191A 1991-03-18 1991-03-18 Computer system Pending JPH04289935A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8081191A JPH04289935A (en) 1991-03-18 1991-03-18 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8081191A JPH04289935A (en) 1991-03-18 1991-03-18 Computer system

Publications (1)

Publication Number Publication Date
JPH04289935A true JPH04289935A (en) 1992-10-14

Family

ID=13728853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8081191A Pending JPH04289935A (en) 1991-03-18 1991-03-18 Computer system

Country Status (1)

Country Link
JP (1) JPH04289935A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014038070A1 (en) 2012-09-07 2014-03-13 富士通株式会社 Information processing device, parallel computer system and information processing device control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014038070A1 (en) 2012-09-07 2014-03-13 富士通株式会社 Information processing device, parallel computer system and information processing device control method
US10002078B2 (en) 2012-09-07 2018-06-19 Fujitsu Limited Information processing apparatus, parallel computer system, and control method for controlling information processing apparatus

Similar Documents

Publication Publication Date Title
JPS6077265A (en) Vector processor
JPH04172533A (en) Electronic computer
JPH0760423B2 (en) Data transfer method
JP3971535B2 (en) SIMD type processor
JPS61160176A (en) Vector processor
JPH0410108B2 (en)
JPH04289935A (en) Computer system
JPS58225443A (en) High-speed data processor
JPH05143633A (en) Isogeometric fast fourier transform realizing system
JPS59132479A (en) Data processing circuit
JP2006344238A (en) Parallel processor and image processor using it
JPS61173345A (en) Computer system
JPS63141131A (en) Pipeline control system
JPH01113806A (en) Sequence controller
JPH10334038A (en) Data transfer device
JP4413905B2 (en) SIMD type processor
JPS62232073A (en) Vector data processor
JPH02190968A (en) Vector processor
JPS6343784B2 (en)
JPS61217868A (en) Access control system of vector data
JPH0721154A (en) Vector processor
JPS61165148A (en) Table access instructing system
JPH027139A (en) Store data register selecting system
JPS61267162A (en) Data transferring device
JPS62232074A (en) Vector data processor