JPS61296471A - Vector processor - Google Patents

Vector processor

Info

Publication number
JPS61296471A
JPS61296471A JP13777285A JP13777285A JPS61296471A JP S61296471 A JPS61296471 A JP S61296471A JP 13777285 A JP13777285 A JP 13777285A JP 13777285 A JP13777285 A JP 13777285A JP S61296471 A JPS61296471 A JP S61296471A
Authority
JP
Japan
Prior art keywords
data
register
address
vector
main memory
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
JP13777285A
Other languages
Japanese (ja)
Inventor
Masami Takahata
高畑 正美
Tomoo Aoyama
青山 智夫
Hiroshi Murayama
浩 村山
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 JP13777285A priority Critical patent/JPS61296471A/en
Publication of JPS61296471A publication Critical patent/JPS61296471A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Abstract

PURPOSE:To access listed data rapidly and to attain the processing of the listed data at high speed by providing a logic circuit constituted of the combinations of shifters, a validity formation logic part, a selector, a comparator, etc. CONSTITUTION:When the address of the 1st element of the listed data is set up in a register 1 from a scalar processor, the address is set up in a register 5 through the selector 2, a main storage 3, the validity formation logic part 4, etc. Then, a data field is extracted through a shifter 7, and set up in a register 8 and an address field is extracted through the logic circuit 10 constituted of the combinations of shifters and set up in a register 11. The data and address are sent to a vector register through the selector 2, the logic part 4, buses 22, 23, etc. and vector length is stored in a register 14 on the basis of a suppression signal outputted from a comparing circuit 12. Then, pattern matching is executed by a vector arithmetic unit on the basis of the vector length. Thus, the listed data can be processed at the high speed.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はベクトル処理装置に係り、特にリスト構造をも
つデ・−夕の高速アクセスを実現する方式〔発明の背景
〕 今日、リスト構造をもつデータはリレーショナルデ・−
タベース、数式処理システム等に数多く用いられている
。第3図はリスト構造をもつデータの主記憶(M M)
上での記憶形式を示したもので。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a vector processing device, and particularly a method for realizing high-speed access to data having a list structure.[Background of the Invention] Today, data having a list structure is used. is a relational de-
It is widely used in databases, formula processing systems, etc. Figure 3 shows the main memory (MM) of data with a list structure.
This shows the storage format above.

各要素はデータ部とアドレス部(リストフィールド)か
らなり、アドレス部が次の要素の記憶位置を示している
。なお、最終の要素のアドレス部には、リストデータの
終了を示す値(以下、この値を“nil”という)が設
定される。
Each element consists of a data field and an address field (list field), and the address field indicates the storage location of the next element. Note that a value indicating the end of the list data (hereinafter, this value will be referred to as "nil") is set in the address field of the final element.

このようなリスト構造をもったデータの処理を高速化す
るには、主記憶を高速にアクセスし、データのリストフ
ィールドを除いたデータ部を処理装置のレジスタに格納
して処理を行い、再びデータ部にリストフィールドを付
加し、主記憶へ書込む必要がある。これらの一連の処理
を高速にするためには、データのアドレス生成1.メモ
リリクエスト、主記憶からロー ドしたデータの編集な
どの処理を高速化するための可能な限りのパイプライン
制御を行う必要がある。
To speed up the processing of data with such a list structure, the main memory is accessed at high speed, the data part excluding the list field is stored in the register of the processing device, and the data is processed again. It is necessary to add a list field to the section and write it to main memory. In order to speed up this series of processing, data address generation 1. It is necessary to perform as much pipeline control as possible to speed up processing such as memory requests and editing data loaded from main memory.

従来、大形行列計算などを高速に処理するベクトル処理
装置が提案されているが(リチャード・M・ラッセル”
CRA’Y−1コンピュータ・システム″1日経マグロ
ウヒルP、283〜295゜1982)、リスト構造の
データをパイプラインで処理する機構とはなっていない
In the past, vector processing devices have been proposed that can process large matrix calculations at high speed (Richard M. Russell)
The CRA'Y-1 computer system (1 Nikkei McGraw-Hill P, 283-295, 1982) does not have a mechanism for processing list-structured data in a pipeline.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、ベクトル処理装置において。 The object of the present invention is to provide a vector processing device.

リスト構造データの高速アクセスを実現し、リスト構造
を基にするデータ処理の高速化を図ることにある。
The purpose of this invention is to realize high-speed access to list-structured data and speed up data processing based on the list structure.

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

本発明はベクトル処理装置の主記憶アクセス部を、アド
レス計算論理部、ロードデータの編集部、ストアデータ
の編集部などの論理ユニットで構成する。
In the present invention, the main memory access section of the vector processing device is constituted by logical units such as an address calculation logic section, a load data editing section, and a store data editing section.

ロード処理の場合、アト1ノス計算論理部では、リスト
構造データの第1要素のアドレスを生成する。当該アド
レスによって主記憶が読出され、ロードデータの編集部
でデータフィールドと次要素のアドレスフィールドとを
分離する。この分離したデータフィールドを第1のベク
トルレジスタに送出し、アドレスフィールドはデータフ
ィールドとは異る第2のベクトルレジスタに送出すると
同時にアドレス計算部に送る。このようにして、第2要
素以降の処理では、アドレスはロードデータ編集部で分
離されたアドレスフィールドの値が用いられる。アト1
ノスフイールドの値がリストデータの終了を示す値(n
il)となった時、リスト構造をもつデータの長さが確
定するので、この値をベクトル長レジスタに七ッ1−シ
、ロード処理を完了する。
In the case of load processing, the at1nos calculation logic unit generates the address of the first element of the list structure data. The main memory is read based on the address, and the data field and the address field of the next element are separated in the load data editing section. This separated data field is sent to a first vector register, and the address field is sent to a second vector register different from the data field and at the same time sent to the address calculation section. In this way, in the processing of the second element and subsequent elements, the value of the address field separated by the load data editing section is used as the address. Ato 1
The value of the Nos field indicates the end of the list data (n
When il) is reached, the length of the list-structured data is determined, so this value is transferred to the vector length register, and the loading process is completed.

ストア処理の場合は、2つのベグト・ルレジスタからそ
れぞれアドレスデータと計算データを読出し、ストアデ
ータの編集部でリスト構造データの第j要素のアドレス
をレジスタにセラl−した後、j要素の計算データにj
 −1−1要素のアドレスを付加して7 j要素のアド
レスが示す主記憶上のロケーション位置に当該編集デー
タを格納する6最終要素の場合、アドレスフィールドに
は”nil”が書込まれる。
In the case of store processing, the address data and calculation data are read from the two registers, and the store data editing section stores the address of the j-th element of the list structure data in the register, and then the calculation data of the j element is stored. nij
In the case of the 6 final element, in which the address of the -1-1 element is added and the edit data is stored at the location in the main memory indicated by the address of the 7j element, "nil" is written in the address field.

以上の処理を行うことにより、リスト構造のデータアク
セスが高速化され、かつ、ベクトルレジスタを介するチ
ェイニング制御により、データ処理が並列的に行われる
By performing the above processing, list-structured data access is speeded up, and data processing is performed in parallel by chaining control via vector registers.

[発明の実施例〕 以下、本発明の一実施例を第1図及び第2図により説明
する。
[Embodiment of the Invention] An embodiment of the present invention will be described below with reference to FIGS. 1 and 2.

第1図はベクトル処理装置のリスト構造データを読出す
ための主記憶参照論理ユニット(ロードリクエスタ)、
第2図は同じくベクトル処理装置のリスト構造データを
書込むための主記憶書込論理ユニツl−(ストアリクエ
スタ)を示したものである。
FIG. 1 shows a main memory reference logical unit (load requester) for reading list structure data of a vector processing device;
FIG. 2 also shows a main memory write logic unit l- (store requester) for writing list structure data of the vector processing device.

はじめ第1図によりリスト構造データのロード処理を説
明する。ベクトル処理装置が起動されると、リスト構造
データの第1要素のアドレスがスカラ処理装置よりレジ
スタ1にセットされる。次にこのアドレスはセレクタ2
を経由して主記憶3に送られる。この時、バリッド生成
論理部4よりパス20を経由してアドレスが送られたこ
とを意味するバリッド信号が主記憶3へ送られる。
First, the loading process of list structure data will be explained with reference to FIG. When the vector processing device is activated, the address of the first element of the list structure data is set in register 1 by the scalar processing device. Next, this address is selector 2
The data is sent to main memory 3 via . At this time, a valid signal indicating that the address has been sent from the valid generation logic unit 4 via the path 20 is sent to the main memory 3.

主記憶3から読出されたデータはレジスタ5に格納され
る。lノジスタ5にデ・−夕をセラ1〜する指示信号は
、データが読み出される毎にパス21を経由して主記憶
3より送出される。また、当該指示信号はベクトル処理
装置起動の際にリセッ1−されているカウンタ6の内容
を+1する。
Data read from main memory 3 is stored in register 5. An instruction signal for transmitting data to the register 5 is sent from the main memory 3 via the path 21 every time data is read. Further, the instruction signal increments the contents of the counter 6, which is reset to 1 when the vector processing device is started, by 1.

主記憶3から読出されし・ジスタ5にセラ1−されまた
データはシフタ7でデータフィールドがとり出社で、レ
ジスタ8にセラ1へされた後、パス22を経由してベク
トルレジスタ(図示せず)に送ら九る。シフタ7でシフ
トすべきビット数は、ベクトル処理装置起動の際、スカ
ラ処理装置よりレジスタ9にセットされる。
The data read from the main memory 3 is transferred to the register 5, the data field is taken out by the shifter 7, and transferred to the register 8 to the cell 1, and then passed through the path 22 to the vector register (not shown). ). The number of bits to be shifted by the shifter 7 is set in the register 9 by the scalar processing device when the vector processing device is activated.

一方、主記憶3から読出されたデータのアドレスノイー
ルドば、シフタの組合ぜから構成される論理回路10で
抽出され、レジスタ11にセットされる。このアト1ノ
スフイールドは次のタイミングでパス234・通ってベ
クトルレジスタに送られ、る。同時に、レジスタ11に
セットされたアドレスフィールドはセレクタ2の入力と
なり、主記憶3に送られる。すなわち、リスト構造のデ
〜りの第1要素アドレスを主記憶3へ送出した直後、セ
!ノクタ2はパス23側を選択するようにバリッド生成
論理部4が制御する。
On the other hand, the address field of the data read from the main memory 3 is extracted by a logic circuit 10 consisting of a combination of shifters and set in a register 11. This At1nos field is sent to the vector register through the path 234 at the next timing. At the same time, the address field set in register 11 becomes an input to selector 2 and is sent to main memory 3. That is, immediately after sending the first element address of the list structure to the main memory 3, the SE! The valid generation logic unit 4 controls the node 2 to select the path 23 side.

以下、パス23を介して送られるアト1ノスを用いて主
記憶3が参照され、上記動作を繰り返すことによりデー
タとアドレスがパス22.23を経由してベク;ヘル1
./ジスタに書込まれる。
Thereafter, the main memory 3 is referenced using the at1nos sent via the path 23, and by repeating the above operation, the data and address are transferred via the paths 22 and 23.
.. / written to the register.

主記憶3から読出されたデータのアドレスフィールドが
レジスタ13の”nil″′と同一のパターンであると
、比較口j!3.12はパス24上に抑止信号を送出(
12、カウンタ6、バリッド生成論理部4の動作を中断
させる。”nil′′マークはベクトル処理装置の起動
時、スカラ処理装置によってレジスタ13に七ッ1−さ
れる。カウンタ6の停止により、レジスタ14にはリス
ト構造データのデータ長即ちベクトル長が格納される。
If the address field of the data read from the main memory 3 has the same pattern as "nil"' in the register 13, the comparison port j! 3.12 sends an inhibit signal on path 24 (
12, the operations of the counter 6 and the valid generation logic unit 4 are interrupted. When the vector processing device is started, the ``nil'' mark is placed in the register 13 by the scalar processing device. When the counter 6 stops, the data length of the list structure data, that is, the vector length is stored in the register 14. .

以下、レジ久夕14上のベクトル長を用いてベクトル処
理が実行されるが、この処理についての制御は本発明ど
は直接関係ないので省略する。
Hereinafter, vector processing is executed using the vector length on the register 14, but the control of this processing is not directly related to the present invention and will therefore be omitted.

次に第2図により、リス1−構造データを構成し主記憶
ト:−書込む処理を説明する。リスト構造データのスト
ア処理が起動される際、スカラ処理装置により第1要素
の主記憶りのアト1ノスは1ノジスタ1に格納されてお
り、データとアト1ノスの境界を示すビット位置は1ノ
ジスタ9に格納さJ・[、ているものとする。
Next, with reference to FIG. 2, the process of configuring the list 1 structure data and writing it into the main memory will be explained. When the list structure data store processing is started, the scalar processing unit stores the at1nos of the first element in the main memory in the 1no register 1, and the bit position indicating the boundary between the data and the at1nos is 1. It is assumed that J·[, is stored in the nozzle 9.

ベクトル処理が完了するど、パス50+51を介してデ
ータ、アドレスが1ノジスタ52,53にそれぞれセッ
トされる。データはシフタ54によってはシフトされ、
レジスタ55の上位部分に格納される。レジスタ55の
部分区分はレジスタ9の値より決定される。一方、アド
レスはセ1ノクタ57を経由して、レジスタ55の下位
部分に格納される。リストデータの第1要素のアト1/
スはレジスタ1に保存されており、このアドレスはディ
1ノイのためのレジスタ56を介して主記憶3へ送られ
る。このアドレス送出と同期してレジスタ55のリス1
−データも主記憶3へ送られる。
Upon completion of vector processing, data and addresses are set in 1-no registers 52 and 53 via paths 50+51, respectively. The data is shifted by shifter 54;
It is stored in the upper part of the register 55. The subdivision of register 55 is determined by the value of register 9. On the other hand, the address is stored in the lower part of the register 55 via the first node 57. At1/of the first element of list data
The address is stored in register 1, and this address is sent to main memory 3 via register 56 for di-noise. In synchronization with this address transmission, the list 1 of register 55 is
- Data is also sent to main memory 3.

第1要素のアドレスがレジスタ1から56へ送られた直
後、セレクタ60はパス61と62を結合する。この切
換処理はパス58を介して送られるベクトルレジスタか
らのバリッド信号を利用して、制御回路59により行わ
れる。第1要素のデータがレジスタ55に、アドレスが
レジスタ56に移行し、た後、第2要素のデータとアド
レスが52.53にセラ1−さオする。この第2要素の
データとアドレスがレジスタ55に格納される時点では
Immediately after the address of the first element is sent to register 1 to 56, selector 60 combines paths 61 and 62. This switching process is performed by control circuit 59 using a valid signal sent from the vector register via path 58. The data of the first element is transferred to the register 55 and the address is transferred to the register 56, and then the data and address of the second element are transferred to 52.53. At the time the data and address of this second element are stored in register 55.

その書込みアト1ノスは■ノジスタ53からレジスタ5
6へ移行しており、このアドレスと同期してレジスタ5
5の第2要素のりストデータが主記憶3へ送られる。以
下、同様の処理を繰り返す。
The write at 1nos is from register 53 to register 5.
6, and register 5 is synchronized with this address.
The second element list data of No. 5 is sent to the main memory 3. Thereafter, the same process is repeated.

ベクトルレジスタからベクトルの最終要素がパス58を
経由l、で送られると、制御回路59はセレクタ57を
作動さぜ、レジスタ63にあらかじめ記憶さ九ている”
nil”バタ・−ンをレジスタ55の下位部分に挿入す
るように制御する。
When the final element of the vector is sent from the vector register via the path 58, the control circuit 59 activates the selector 57, pre-stored in the register 63.
control so that a "nil" button is inserted into the lower part of the register 55.

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

本発明によれば、リスト構造をもつデータをベクトル処
理装置で処理する、てとが可能となり、バク1−ル処理
の適用範囲が拡大する。たとえば、リスト・構造をもっ
たデータの中にある特定のピッI・パターンのものが存
在するか否かを調べたい場合、本発明を採用したロード
リクエスタにより]′E記憶からデータをバク1−ルレ
ジスタにローディングし、ベクトル処理長が確定した後
に、バク1−ルレジスタのチェイニング機能を利用して
当該データを読出し、ベクトル演算器によってパターン
マツチングを行うことにより、従来のスカラ処理よりも
高速に目的とする処理を行うことができる。また、本発
明のリス]−構造を生成し主記憶へ書込みを行う制御を
採用したス1−アリクエスタを利用することにより、リ
スト構造データの中の特定パターンの置換、無効データ
化もベクトル処理によって高速に出来る。
According to the present invention, it becomes possible to process data having a list structure with a vector processing device, and the scope of application of backup processing is expanded. For example, if you want to check whether a certain pattern exists in list-structured data, the load requester adopting the present invention can load the data from memory After loading the data into the back register and determining the vector processing length, the data is read using the chaining function of the back register and pattern matching is performed by the vector arithmetic unit, resulting in faster processing than conventional scalar processing. The desired processing can be performed. In addition, by using the list requester of the present invention that employs control to generate a list structure and write it to main memory, vector processing can also be used to replace a specific pattern in list structure data and make it invalid data. It can be done at high speed by

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

第1図はベクトル処理装置のリスト構造データを読出す
ための主記憶参照論理ユニットの一実施例を示す図、第
2図は同じくリスト構造データを書込むための主記憶書
込論理ユニットの一実施例を示す図、第3図はリスト構
造データの記憶形式%式% 3・・・主記憶、 5・・・データレジスタ。 7・・・シフタ、   10・・・論理回路、54・・
・シフタ、  55・・・データレジスタ。 代理人弁理士  小 川 勝 男 第1図 第2図 M間
FIG. 1 is a diagram showing an embodiment of a main memory reference logic unit for reading list structure data of a vector processing device, and FIG. 2 is a diagram showing an example of a main memory write logic unit for writing list structure data. FIG. 3 shows a storage format of list structure data. 3...Main memory, 5...Data register. 7... Shifter, 10... Logic circuit, 54...
・Shifter, 55...Data register. Representative patent attorney Katsoo Ogawa Figure 1 Figure 2 M space

Claims (1)

【特許請求の範囲】[Claims] (1)主記憶と、複数のベクトルレジスタと、ベクトル
演算器などから構成されるベクトル処理装置において、
各要素がデータ部と次要素の記憶位置を示すアドレス部
とからなるリスト構造データをアクセス処理するため、
主記憶から読出されたリスト構造データをデータ部とア
ドレス部に分離してベクトルレジスタに送ると共に、該
アドレス部を次要素のリスト構造データの読出しアドレ
スとして主記憶に送る第1制御手段と、ベクトルレジス
タに保持されているデータ部とアドレス部とを合成しリ
スト構造データに変換して主記憶に書込むと共に、該ア
ドレス部を次要素のリスト構造データの書込みアドレス
として主記憶に送る第2制御手段とを設けたことを特徴
とするベクトル処理装置。
(1) In a vector processing device consisting of a main memory, a plurality of vector registers, a vector arithmetic unit, etc.
In order to access list structure data where each element consists of a data part and an address part indicating the storage location of the next element,
a first control means that separates the list structure data read from the main memory into a data part and an address part and sends them to the vector register, and sends the address part to the main memory as a read address of the list structure data of the next element; A second control that combines the data part and the address part held in the register, converts it into list structure data, writes it to the main memory, and sends the address part to the main memory as a write address of the list structure data of the next element. A vector processing device characterized by comprising: means.
JP13777285A 1985-06-26 1985-06-26 Vector processor Pending JPS61296471A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13777285A JPS61296471A (en) 1985-06-26 1985-06-26 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13777285A JPS61296471A (en) 1985-06-26 1985-06-26 Vector processor

Publications (1)

Publication Number Publication Date
JPS61296471A true JPS61296471A (en) 1986-12-27

Family

ID=15206471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13777285A Pending JPS61296471A (en) 1985-06-26 1985-06-26 Vector processor

Country Status (1)

Country Link
JP (1) JPS61296471A (en)

Similar Documents

Publication Publication Date Title
US3786432A (en) Push-pop memory stack having reach down mode and improved means for processing double-word items
EP0622737B1 (en) High performance memory system
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US4375678A (en) Redundant memory arrangement providing simultaneous access
US4079453A (en) Method and apparatus to test address formulation in an advanced computer system
JPS6255736A (en) Digital processor control
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
JPH0414385B2 (en)
JPS6217876Y2 (en)
EP0533427B1 (en) Computer memory control system
US5295253A (en) Cache memory utilizing a two-phase synchronization signal for controlling saturation conditions of the cache
JPH0282330A (en) Move out system
JPS5832427B2 (en) multiplex information processing system
JPS61296471A (en) Vector processor
US3373407A (en) Scratch pad computer system
JPS61256478A (en) Parallel processing computer
JP2716254B2 (en) List vector processing device
US6763421B2 (en) Instruction pair detection and pseudo ports for cache array
JP2684752B2 (en) Extended storage control method
JP2798492B2 (en) List vector processing device
JP2842024B2 (en) Register file circuit
JPH02136946A (en) Cache memory control circuit
JP2573711B2 (en) Micro subroutine control method
JPH01156847A (en) Memory access processor