JPS59123974A - Vector data storage control system - Google Patents
Vector data storage control systemInfo
- Publication number
- JPS59123974A JPS59123974A JP23189582A JP23189582A JPS59123974A JP S59123974 A JPS59123974 A JP S59123974A JP 23189582 A JP23189582 A JP 23189582A JP 23189582 A JP23189582 A JP 23189582A JP S59123974 A JPS59123974 A JP S59123974A
- Authority
- JP
- Japan
- Prior art keywords
- control block
- read
- write
- data buffer
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、ベクトルデータ処理装置に関し、特に1つの
命令で複数のデータを処理するベクトル命令を複数個多
重化して処理することができるベクトルデータ処理装置
の記憶制御方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a vector data processing device, and particularly to a vector data processing device that can multiplex and process a plurality of vector instructions that process a plurality of data with one instruction. This invention relates to a storage control method for devices.
従来のベクトルデータ処理装置は、l命令で多数のデー
タを連続的に処理する構成をもっている。A conventional vector data processing device has a configuration that continuously processes a large amount of data using an l instruction.
しかし、連続する命令を直列に実行する場合、たとえば
第1図に示すように、ベクトルロード命令を連続する場
合、1つの命令の主メモリからフェッチしたデータをベ
クトルレジスタにライトして実行終了したあとに、次の
ベクトルロード命令のアドレス生成が行なわれるため、
図示のように、各命令の立上りにロスタイムTDが生じ
るという問題がある。However, when consecutive instructions are executed serially, for example, when vector load instructions are executed consecutively as shown in Figure 1, the data fetched from the main memory of one instruction is written to the vector register, and after execution is completed, Then, the address of the next vector load instruction is generated, so
As shown in the figure, there is a problem in that a loss time TD occurs at the rise of each instruction.
そのため、連続する命令をオーバーラツプさせることに
より、処理効率の改善を図ることができる。しかしその
ためには、たとえばメモリアクセス系の命令では、デー
タバッファを含tr 7クセスパイプラインが、複数命
令により多重共用できることが望ましい。Therefore, by overlapping consecutive instructions, processing efficiency can be improved. However, for this purpose, for example, for memory access instructions, it is desirable that a tr7 access pipeline including a data buffer can be shared multiple times by a plurality of instructions.
本発明の目的は、ベクトルデータ処理装置において、ア
クセスパイプラインを複数命令により多重共用可能にす
るための記憶制御方式を提供することにあり、その構成
として、ベクトルレジスタと主メモリと、前記ベクトル
レジスタおよび前記主メモリの間でデータ転送を行なう
アクセスパイプラインとをそなえたベクトルデータ処理
装置において、前記アクセスパイプラインは、複数個の
データバッファと、該データバッファへの書き込み制御
ブロックと、読み出し制御ブロックとを有し、該書き込
み制御ブロックと読み出し制御ブロックは、独立して動
作し、上記データバッファを複数命令で共用可能にする
ことを特徴とするものである。SUMMARY OF THE INVENTION An object of the present invention is to provide a storage control method for enabling multiple instructions to share an access pipeline in a vector data processing device. and an access pipeline that transfers data between the main memories, wherein the access pipeline includes a plurality of data buffers, a write control block to the data buffers, and a read control block. The write control block and the read control block operate independently, and the data buffer can be shared by multiple instructions.
インタリープ形式でアクセスタイミングが決められてい
るベクトルレジスタをそなえたベクトルデータ処理装置
においては、ベクトルロード命令の実行時に、主メモリ
から読み出されたデータを、ベクトルレジスタへ書き込
むアクセスタイミングが合うまでの間、一時的に貯えて
おくためのデータバッファが必要とされる。そして複数
のベクトル命令を連続的に実行するとき、上記データバ
ッファは、複数命令のベクトルデータを同時に保有する
よう多重共用制御されなければならない。In a vector data processing device equipped with a vector register whose access timing is determined in an interleaved format, when a vector load instruction is executed, the data read from main memory is transferred until the access timing to write it to the vector register is right. , a data buffer is required for temporary storage. When a plurality of vector instructions are executed consecutively, the data buffer must be controlled for multiple use so as to hold vector data of the plurality of instructions at the same time.
また、ベクトルストア命令においても、ベクトルレジス
タのアクセスタイミングを吸収するために、ベクトルレ
ジスタから読み出したデータを一旦データバツファに貯
え、それから主メモリヘスドアすることが行なわれる。Also, in the vector store instruction, in order to absorb the access timing of the vector register, data read from the vector register is temporarily stored in a data buffer and then stored in the main memory.
この場合も、命令を連続的に処理するためには、データ
バッファの多重共用制御が必要である。In this case as well, multiple sharing control of data buffers is required in order to process instructions continuously.
本発明では、データバッファの書き込み制御と読み出し
制御とを独立させて、それぞれを同時に異なる命令のた
めに使用できるようにし、更に各命令ごとにデータバッ
ファの使用領域を管理する手段を設けて、複数命令によ
るデータバッファの多重共用制御を行なう。In the present invention, write control and read control of the data buffer are made independent so that each can be used for different instructions at the same time, and furthermore, means is provided to manage the usage area of the data buffer for each instruction, so that multiple Controls multiple sharing of data buffers using instructions.
第2図は本発明実施例によるデータバッファ機構の構成
図であり、第3図はその制御回路を示す。FIG. 2 is a block diagram of a data buffer mechanism according to an embodiment of the present invention, and FIG. 3 shows its control circuit.
第2図において、lはデータバッファであり、図示の例
では16段で構成されている。2は書き込みアドレスカ
ウンタ、3は+1歩進回路、4は読み出しアドレスカウ
ンタ、5は+1歩進回路を示す。In FIG. 2, l is a data buffer, which in the illustrated example is composed of 16 stages. 2 is a write address counter, 3 is a +1 step circuit, 4 is a read address counter, and 5 is a +1 step circuit.
データは、4バイトあるいは8バイトを1エレメントと
し、lエレメント単位あるいは4エレメントなどの複数
エレメント単位でデータバッファへの書き込みあるいは
読み出しが行なわれる。Data is written to or read from the data buffer in units of 1 element or multiple elements such as 4 elements, with 4 bytes or 8 bytes serving as one element.
書き込みアドレスレジスタ2および読み出しアドレスレ
ジスタ4は、それぞれ+1歩進回路5および7と組み合
わされて、4ビツトのカウンタを構成している。また、
それぞれ、書き込みあるいは読み出し開始時に、書き込
みセットアドレスあるいは読み出しセットアドレスが設
定される。Write address register 2 and read address register 4 are combined with +1 increment circuits 5 and 7, respectively, to form a 4-bit counter. Also,
A write set address or a read set address is set at the start of writing or reading, respectively.
書き込みアドレスレジスタ2の場合、書き込みセットア
ドレスが示すデータバッファ位置に最初のエレメントを
書き込み、その後、書き込み許可信号が与えられる毎に
+1ずつ歩進して、次の書き込み位置を指示する。読み
出しアドレスレジスタの場合も、データバッファの読み
出し位置について、同様力機能を果す。In the case of the write address register 2, the first element is written to the data buffer location indicated by the write set address, and thereafter, the register is incremented by +1 each time a write enable signal is applied to indicate the next write position. In the case of the read address register, the same function is performed for the read position of the data buffer.
データバッファlは、ロードおよびストアの両方につい
て使用される。そのため、入力部および出力部は、ベク
トルロード命令かベクトルストア命令かにしたがって、
主メモリおよびベクトルレジスタに対する転送方向を選
択制御される。Data buffer l is used for both loads and stores. Therefore, the input section and output section are
The direction of transfer to main memory and vector registers is selectively controlled.
次に、第3図にしたがって、データバッファ制御回路の
実施例を説明する。同図において、6は書き込み制御ブ
ロック、7は読み出し制御ブロック、8は書き込みセッ
トアドレスレジスタ、9は加算器、lOはライトエレメ
ントカウンタ、11は加減算器、12は加算器、13は
キュー″′0”アドレスレジスタ、14はキュー“l”
アドレスレジスタ、15はセレクタ、16は読み出しセ
ットアドレスレジスタ、17はキュー“O”エレメント
レジスタ、18はキュー61Mエレメントレジスタ、1
9はセレクタ、20はリードエレメントカウンタ、21
は加算器を示す。Next, an embodiment of the data buffer control circuit will be described with reference to FIG. In the figure, 6 is a write control block, 7 is a read control block, 8 is a write set address register, 9 is an adder, IO is a write element counter, 11 is an adder/subtractor, 12 is an adder, 13 is a queue "'0""Address register, 14 is queue "l"
Address register, 15 is selector, 16 is read set address register, 17 is queue "O" element register, 18 is queue 61M element register, 1
9 is a selector, 20 is a read element counter, 21
indicates an adder.
書き込み制御ブロック6および読み出し制御ブロック7
は、データバッファ上の書き込み位置および読み出し位
置を指示するために、別々の指令により制御されるが、
読み出し制御ブロック7は、命令毎の読み出し開始位置
および読み出しエレメント数を、書き込み制御ブロック
6がらの情報を用いて設定する。以下に第4図のタイム
チャートを参照して各部の動作を説明する。Write control block 6 and read control block 7
are controlled by separate commands to indicate the write and read positions on the data buffer.
The read control block 7 sets the read start position and the number of read elements for each instruction using information from the write control block 6. The operation of each part will be explained below with reference to the time chart of FIG.
書き込み制御ブロック6は、主メモリからデータがフェ
ッチされると動作し、開始アドレスおよび書き込み許可
信号をデータバッファへ送り、次のサイクルで読み出し
制御ブロック7に起動をかけ、読み出し開始アドレスを
知らせる。The write control block 6 operates when data is fetched from the main memory, sends a start address and a write permission signal to the data buffer, and activates the read control block 7 in the next cycle to inform it of the read start address.
書を込みセットアドレスレジスタ8は、データバッファ
のアドレス″′O”から、各命令の書’1みエレメント
数を積算し、次の命令の先頭データを書き込むためのデ
ータバッファ上での開始アドレス、すなわち、第2図の
書き込みアドレスレジスタ2への書き込みセットアドレ
スを生成する。The write set address register 8 accumulates the number of write elements of each instruction from the data buffer address "'O", and determines the start address on the data buffer for writing the first data of the next instruction. That is, a write set address to the write address register 2 shown in FIG. 2 is generated.
ライトエレメントカウンタlOは、各命令毎に、データ
バッファへの書き込み期間中の書き込みエレメント数と
、書き込み期間に読み出し期間がオーバーラツプしてい
る場合の読み出しエレメント数との差(図示の例では“
7″)をカウントする。The write element counter lO is calculated for each instruction by the difference between the number of write elements during the write period to the data buffer and the number of read elements when the write period overlaps with the read period (in the illustrated example, “
7″).
すなわち、1つの命令の全エレメントの書き込みを終了
した時点で、データバッファ内に読み出し未了で残って
いる書き込みエレメント数を表示するO
読み出し制御ブロック7において、キュー″′0”およ
びキュー″′1″のアドレスレジスタ13.14と、エ
レメントレジスタ17.18とは、ベクトルロード命令
において、ベクトルレジスタへの書き込みタイミング待
ちとなった命令のデータについて多重共用管理するため
のものであり、2命令分の読み出し開始アドレスと、そ
のアドレスからの読み出しを必要とするエレメント数と
を一時的に保持し、読み出し許可が出たとき、それにも
とづき命令順に読み出し制御を行なうために使用される
。セレクタ15およびレジスタ16は、その際に、必要
なレジスタ情報の選択を行なう。In other words, when writing of all elements of one instruction is completed, the number of write elements remaining in the data buffer without being read out is displayed. '' address registers 13.14 and element registers 17.18 are for multiple shared management of the data of the instruction waiting for the write timing to the vector register in the vector load instruction, and are It temporarily holds the read start address and the number of elements that need to be read from that address, and when read permission is granted, it is used to control read in the order of instructions based on it. At this time, the selector 15 and register 16 select necessary register information.
読み出しセットアドレスレジスタ16は、データバッフ
ァの読み出し開始アドレス、すなわち第2図の読み出し
アドレスレジスタ4への読み出シセットアドレスを供給
する。複数命令の待ち合わせが生じていない場合には、
データバッファへの書き込み開始位置、すなわちアドレ
ス@O”が、読み出し開始位置となる。ただし、データ
バッファをリング状の循環構造にした場合には、書き込
み開始位置がアドレス″′O”になるとは限らない。The read set address register 16 supplies the read start address of the data buffer, ie, the read set address to the read address register 4 of FIG. If multiple instructions are not waiting,
The writing start position to the data buffer, that is, address @O'', becomes the reading start position. However, if the data buffer has a ring-shaped circular structure, the writing start position may not always be address ``'O''. do not have.
リードエレメントカウンタ20け、読み出し制御対象と
なっている命令の読み出しを必要とする残りのエレメン
ト数を各時点において表示する。A read element counter 20 displays at each time the number of remaining elements that require reading of the instruction that is subject to read control.
すなわち、ライトエレメントカウンタ1oが示すエレメ
ント書き込み時点においてデータバッファ中に存在する
その命令の読み出し未了エレメント数と、書き込み終了
後に、読み出し実行により逐次減少する読み出し未了の
エレメント数とを表示し、1つの命令についてデータバ
ッファから読み出されるエレメント数の制御に使用され
る。That is, the number of unread elements existing in the data buffer for the instruction at the time of writing the element indicated by the write element counter 1o, and the number of unread elements that are sequentially decreased by reading execution after the writing is completed, are displayed. Used to control the number of elements read from the data buffer for one instruction.
第5図は、複数の命令がデータバッファを多重共用して
いる状態のタイムチャートである。FIG. 5 is a time chart in a state where a plurality of instructions multiplex and share a data buffer.
命令1.2.3が連続して実行され、それぞれのデータ
が順次フェッチされるとき、データバッファが空きで使
用可能である場合には、書き込み制御ブロック6により
、読み出し許可の有無に拘わらず、それらのデータを順
次データバッファヘ書き込ませる。When instructions 1.2.3 are executed successively and the respective data are fetched in sequence, if the data buffer is free and available, the write control block 6 causes These data are sequentially written to the data buffer.
ここで、データバッファからベクトルレジスタへの読み
出し許可が、図示のようなタイミングで与えられる場合
、命令2および3のデータに待ち合わせの必要が生じ、
書き込み制御ブロック内の書き込みセットアドレスレジ
スタ8およびライトエレメントカウンタ10から、それ
ぞれの命令の書き込み開始アドレスおよび読み出しが必
要なエレメント数の情報を取り出し、キュー″′lnお
よヒキュー″′0”のアドレスレジスタ13.14およ
びエレメントレジスタ17.18に格納する。Here, if permission to read from the data buffer to the vector register is given at the timing shown in the figure, it is necessary to wait for the data of instructions 2 and 3,
The write start address of each instruction and the information on the number of elements that need to be read are extracted from the write set address register 8 and write element counter 10 in the write control block, and the address registers of queue "'ln" and hikue "'0" are retrieved. 13.14 and element registers 17.18.
他方、読み出し制御ブロック7は、データバッファへの
書き込み動作とは関係なしに、読み出し許可が与えられ
るたびに順次の命令のデータ読み出しを実行する。たと
えば図示のように、命令1のデータ読み出しを実行した
後、キュー′″l”レジスタの内容を取り出して命令2
のデータを処理し、次にキュー“O″レジスタ内容を取
り出して命令3のデータを処理する。On the other hand, the read control block 7 executes data read of sequential instructions each time read permission is granted, regardless of the write operation to the data buffer. For example, as shown in the figure, after executing the data read of instruction 1, the contents of the queue '''l'' register are retrieved and the contents of the instruction 2 are read.
Then, the contents of the queue "O" register are retrieved and the data of instruction 3 is processed.
以上のように、本発明によれば、データバッファの書き
込み制御ブロックと読み出し制御ブロックとは互いに独
立に、それぞれの最適のタイミングで動作させることが
できるので、複数の命令によるデータバッファの多重共
用制御を効率的に行なうことができる。As described above, according to the present invention, the write control block and the read control block of the data buffer can be operated independently of each other at their respective optimal timings, so that the data buffer can be multiplexed and shared by a plurality of instructions. can be done efficiently.
【図面の簡単な説明】
第1図はベクトルロード命令の連続実行の説明図、第2
図は本発明実施例のデータバッファの構成図、第3図は
そのデータバッファ制御回路の構成図、第4図および第
5図は動作例のタイムチャートを示す図である。
図中、lはデータバッファ、2V′T、書き込みアドレ
スレジスタ、4は読み出しアドレスレジスタ、6は書き
込み制御ブロック、7は読み出し制御ブロック、8は書
き込みセットアドレスレジスタ、lOはライトエレメン
トカウンタ、13はキュー10”アドレスレジスタ、1
4Hキユー″′l”アドレスレジスタ、16は読み出し
セットアドレスレジスタ、17はキュー@′0”エレメ
ントレジスタ、18はキュー″′1”エレメントレジス
タ、20はリードエレメントカウンタを表わす。
特許出願人 富士通株式会社
代理人弁理士 長径用 文 廣
(外1名)[Brief explanation of the drawings] Figure 1 is an explanatory diagram of continuous execution of vector load instructions;
FIG. 3 is a block diagram of a data buffer according to an embodiment of the present invention, FIG. 3 is a block diagram of its data buffer control circuit, and FIGS. 4 and 5 are time charts of operation examples. In the figure, l is a data buffer, 2V'T is a write address register, 4 is a read address register, 6 is a write control block, 7 is a read control block, 8 is a write set address register, lO is a write element counter, and 13 is a queue 10” address register, 1
4H queue "'l" address register, 16 represents read set address register, 17 represents queue @'0" element register, 18 represents queue "'1" element register, and 20 represents read element counter. Patent applicant: Fujitsu Limited Representative patent attorney: Hiroshi Fumi (1 other person)
Claims (1)
ルレジスタおよび前記主メモリの間でデータ転送を行な
うアクセスパイプラインとをそなえたベクトルデータ処
理装置において、前記アクセスパイプラインは、複数個
のデータバッファと、該データバッファへの書き込み制
御ブロックと、読み出し制御ブロックとを有し、該書込
み制御ブロックと読み出し制御ブロックは、独立して動
作し、上記データバッファを複数命令で共用可能にする
ことを特徴とするベクトルデータ記憶制御方式。 (2) 前記第1項において、独立に動作する制御ブ
ロックの読み出し制御ブロックに、命令毎に、書き込み
制御ブロックからデータバッファの開始アドレスおよび
エレメント数情報を読み出して保有する回路を1ffl
lまたは複数個設け、読み出し制御ブロックは、該情報
にしたがって順次的にデータバッファを読み出し制御す
ることを特徴とするベクトルデータ記憶制御方式。 (8) 前記第1項および第2項において、独立に動
作する制御ブロックにおいて、ロード又はストアの命令
によらず、書き込みと読み出しの出入りのみで管理し、
命令の種別に依存せずに同様に処理することを特徴とす
るベクトルデータ記憶制御方式[Scope of Claims] (1) A vector data processing device including a vector register, a main memory, and an access pipeline that transfers data between the vector register and the main memory, wherein the access pipeline includes a plurality of access pipelines. It has a data buffer, a write control block to the data buffer, and a read control block, and the write control block and read control block operate independently, and the data buffer can be shared by multiple instructions. A vector data storage control method characterized by: (2) In the above item 1, the read control block of the independently operating control block includes a circuit that reads and retains the start address and element number information of the data buffer from the write control block for each instruction.
1. A vector data storage control system, wherein one or more read control blocks are provided, and the read control block sequentially controls reading of data buffers according to the information. (8) In the above paragraphs 1 and 2, in a control block that operates independently, the control block is managed only by writing and reading in and out, regardless of load or store instructions,
A vector data storage control method characterized by processing in the same way regardless of the type of instruction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23189582A JPS59123974A (en) | 1982-12-29 | 1982-12-29 | Vector data storage control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23189582A JPS59123974A (en) | 1982-12-29 | 1982-12-29 | Vector data storage control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59123974A true JPS59123974A (en) | 1984-07-17 |
JPS6343784B2 JPS6343784B2 (en) | 1988-09-01 |
Family
ID=16930714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23189582A Granted JPS59123974A (en) | 1982-12-29 | 1982-12-29 | Vector data storage control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59123974A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816323A (en) * | 1994-06-27 | 1996-01-19 | Nec Corp | Magnetic disk device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019043813A1 (en) | 2017-08-30 | 2019-03-07 | 三菱電機株式会社 | Sewing machine |
-
1982
- 1982-12-29 JP JP23189582A patent/JPS59123974A/en active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816323A (en) * | 1994-06-27 | 1996-01-19 | Nec Corp | Magnetic disk device |
Also Published As
Publication number | Publication date |
---|---|
JPS6343784B2 (en) | 1988-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4507728A (en) | Data processing system for parallel processing of different instructions | |
JPS59123974A (en) | Vector data storage control system | |
US3761893A (en) | Digital computer | |
JPS5919290A (en) | shared memory system | |
JPS6211736B2 (en) | ||
JP2547219B2 (en) | Vector data access control apparatus and method | |
JP3357243B2 (en) | Setting data changing device in image processing device | |
US3212060A (en) | Digital processing systems | |
JPS6049946B2 (en) | Buffer memory control method | |
JPS58106641A (en) | Pipeline instruction execution controlling system | |
JPH06202894A (en) | Shared memory control circuit | |
JP2527814B2 (en) | Instruction processing system | |
JPS60205647A (en) | Data processor | |
JPH03218524A (en) | Instruction processor | |
JPS6039265A (en) | Data transfer system | |
JPS61211774A (en) | Vector processor | |
JPS60189043A (en) | processor | |
JPS6343782B2 (en) | ||
JPH02136949A (en) | input/output control device | |
JPH0338613B2 (en) | ||
JPS61100852A (en) | Data transfer method | |
JPH0477945B2 (en) | ||
JPS619728A (en) | Microprogram controller | |
JPS61217868A (en) | Vector data access control method | |
JPH01108652A (en) | Address translation method |