JPH0452759A - Multiplex processing system for vector instruction - Google Patents

Multiplex processing system for vector instruction

Info

Publication number
JPH0452759A
JPH0452759A JP2155808A JP15580890A JPH0452759A JP H0452759 A JPH0452759 A JP H0452759A JP 2155808 A JP2155808 A JP 2155808A JP 15580890 A JP15580890 A JP 15580890A JP H0452759 A JPH0452759 A JP H0452759A
Authority
JP
Japan
Prior art keywords
vector
pipeline
processing
load
instruction
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
JP2155808A
Other languages
Japanese (ja)
Inventor
Hideaki Fujimaki
藤巻 秀明
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2155808A priority Critical patent/JPH0452759A/en
Publication of JPH0452759A publication Critical patent/JPH0452759A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To process the vector data at a high speed by providing the status registers on a load/store pipeline and an arithmetic pipeline respectively. CONSTITUTION:If a page fault occurs on a load/store pipeline 21 which performs a memory access operation in the working states of the pipeline 21 and an arithmetic pipeline 20, the interruption of the page fault is informed and at the same time the processing is interrupted for all vector instructions on both pipelines 21 and 20. In this case, the vector instructions and the element Nos are held by the status registers 210 and 200 respectively. When a page is successfully acquired, the elements following the element Nos stored in both registers 210 and 200 are processed again. Thus the processing ability of a vector computer is improved.

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題課題を解決す
るための手段 作用 実施例 発明の効果 〔概要〕 ベクトル演算を複数個のパイプラインで処理し。
[Detailed Description of the Invention] [Table of Contents] Overview Industrial Application Fields Conventional Technology and Problems to be Solved by the Invention Means for Solving the Problems Actions Examples Effects of the Invention [Summary] Vector operations can be performed on a plurality of Process in pipeline.

且つ、オンデマンドページング方式による仮想記憶空間
上でベクトル命令を処理する方式に関し、オンデマンド
ページングモード下においても、複数個のパイプライン
をできる限り、並列に使用することを目的とし、 主記憶装置 (MSU)をアクセスするバイブラインで
ページフォルトが発生したとき、複数個の全パイプライ
ンでのベクトル命令の処理を中断すると共に、上記主記
憶装置(MSU)をアクセスするバイブライン (ロー
ド/ストアパイプライン)と、主記憶装f (MSU)
をアクセスしないバイブライン(演算パ1゛ブライン)
との両方に、上記中断し7たときの各パイブラ・インで
処理中のベクトル命令の状態(再開要素番号等)を保持
する手段を設し3て、上記ページフォルトが発生しで、
各バイブラインでのベクトル処理を中断し、上記主記憶
装jf(MSU)上のオペ1/イテイングシステム(O
5)4二割込んだとき、該オペレーティングシステム(
OS)からの再開指示に基づいて、上記保持手段に格納
されている中断状態から、各バイブラインで中断されて
いる複数個のベクトル命令の処理を再開するように構成
する。
In addition, regarding the method of processing vector instructions in the virtual memory space using the on-demand paging method, the main memory ( When a page fault occurs in a vibline that accesses the main storage unit (MSU), vector instruction processing in all multiple pipelines is interrupted, and the vibline that accesses the main storage unit (MSU) (load/store pipeline) ) and main memory unit f (MSU)
Vibration line that does not access (arithmetic power line)
and means for retaining the state (resuming element number, etc.) of the vector instruction being processed in each pipeline at the time of the above-mentioned interruption, so that the above-mentioned page fault does not occur.
The vector processing on each vibe line is interrupted and the operation 1/eating system (O
5) When the 42 interrupt occurs, the operating system (
Based on a restart instruction from the operating system (OS), the processing of the plurality of vector instructions suspended in each vibe line is resumed from the suspended state stored in the holding means.

(産業上の利用分野〕 本発明は、ベクトル演算を複数個のバイブラインで処理
し、且つ、オンデマンドページング方式による仮想記憶
空間」二でベクトル命令を処理する方式に関する。
(Industrial Application Field) The present invention relates to a method for processing vector operations using a plurality of vibe lines and processing vector instructions in a virtual storage space using an on-demand paging method.

近年のベクトルパイプライン方式の計算機による高速処
理が普及するに伴い、多数のユーザからの該ベクトル計
算機によるデータ処理の要求が高ま、っており、その結
果として、処理されるベクトルデータのデータ量も増大
し、仮想記憶空間上に該ベクトルデータを展開する必要
が生じている。
With the spread of high-speed processing using vector pipeline computers in recent years, the demand for data processing by vector computers has increased from many users, and as a result, the amount of vector data processed has increased. The vector data has also increased, and it has become necessary to develop the vector data on a virtual storage space.

従って、かかる仮想記憶空間に展開したベクトルデータ
に対して、高速に、該ベクI・ルデータを処理すること
ができるヘクトル命令処理方弐が必要とされる。
Therefore, there is a need for a vector instruction processing method that can quickly process vector data developed in such a virtual storage space.

[従来の技術と発明が解決しようとする課題〕第2図は
従来の−、クトル命令処理方式を説明する図であり、(
a)は構成例を示し、(lil) 、 (b2)は概略
の動作フローを示している。
[Prior art and problems to be solved by the invention] FIG.
A) shows a configuration example, and (lil) and (b2) show a schematic operation flow.

(a)図に示したような、複数個のバイブライン(演算
パイプライン20.ロード、′ストアパイプライン2]
)を備えたベクトル計算機のベクI−ルコニッI・(ν
υ)2においては、主記憶装置(MSU) 1にベクト
ルデータが展開されている場合、(hl)図に示したよ
うに2.複数個のベクトル命令(1) ” (3)を並
列に実行させることで、当該ベクトルデータの処理能力
の向上を図っている。
(a) Multiple vibe lines (calculation pipeline 20, load, 'store pipeline 2] as shown in the figure)
) of a vector calculator with
In υ) 2, if the vector data is developed in the main storage unit (MSU) 1, 2. By executing a plurality of vector instructions (1)'' (3) in parallel, the processing capacity of the vector data is improved.

然しながら、最近のよ・うに、該ベクトル計算機を使用
する7−・ザが多様化j7、ベクトルデータのJも大き
くな2.てくると、主記憶装置(にSO) iの実記憶
空間内では、該膨大なベクトル演算開し切れなく4綽な
り、」−記ファ・イル記憶装置(DASD)上に仮想記
憶空間を構築し、上記実記憶空間(主記憶装置(MSU
) 1 ) fにページを単位として該べり;−ルデ・
−りを展開しなからベクトルデータを処理する必要がQ
Q Iニる。この処理方式をオンデマンドページング方
式という。
However, recently, the use of vector calculators has become more diverse, and the J of vector data has become larger. Then, in the real storage space of the main storage device (SO) i, the huge vector operation cannot be completed and there are 4 operations, and a virtual storage space is constructed on the file storage device (DASD). The above real storage space (main storage unit (MSU)
) 1) Applicable to f in pages; - Rude
Q: It is necessary to process vector data before expanding it.
Q I Niru. This processing method is called an on-demand paging method.

このような場合、該ロード/ストアパイプライン21で
の処理で、主記憶装置(MSU) 1上に、ロードずべ
きベクトルデータがなくなり、所謂、ページフォル[・
が検出されると、該ロード/ストアパイプライン21で
の処理を中断し、そのとき該ロード/ストアパイプライ
ン21で実行中のベクトル命令のインデックス(即ち、
再開要素番号)を特定のステータスレジスタ210に保
持し、オペレーティングシステム(OS)に割込む。
In such a case, as a result of the processing in the load/store pipeline 21, there is no vector data to be loaded on the main storage unit (MSU) 1, resulting in a so-called page folder.
is detected, the processing in the load/store pipeline 21 is interrupted, and the index of the vector instruction currently being executed in the load/store pipeline 21 (i.e.,
The restart element number) is held in a specific status register 210 and interrupts the operating system (OS).

該割込まれたオペレイティングシステム(O3)によっ
て、該仮想記憶空間からベクトルデータをページ単位で
、主記憶装置(MSU) 1にページインされる。
The interrupted operating system (O3) pages vector data from the virtual storage space into the main storage unit (MSU) 1 in page units.

該ベージインが完了すると、該オペレーティングシステ
ム(OS)からの再開指示(具体的には、該ベクトル命
令を再発行して)により1.上記ロード/ストアパイプ
ライン21のステータスレジスタ2101こ保持されて
いる要素番号から、該ベクトル命令の実行を再開する。
When the page-in is completed, 1. Execution of the vector instruction is resumed from the element number held in the status register 2101 of the load/store pipeline 21.

このとき、他の演算パイプライン20で実行中のベクト
ル命令については、当該ベクトル計算機システムの中央
処理装置であるスカラユニット(SU)から突き放され
、ベクトルユニット(VU)2で独立に演算が行われて
いる。
At this time, vector instructions being executed in other arithmetic pipelines 20 are thrown away from the scalar unit (SU), which is the central processing unit of the vector computer system, and are independently operated in the vector unit (VU) 2. ing.

従って、上記のように、ロード/ストアパイプライン2
1でページフォルトが発生して、該ロード/ストアパイ
プライン21での処理を中断するとき、同様に、他の演
算パイプライン20での処理も中断してもよいが1、該
演算パイプライン20で実行中のベクトル命令のアドレ
ス(スカラユニット(SU)のプログラムステータス語
(PSW)で指示される)は勿論、中断時点での要素番
号も、上記スカラユニット(Sll)では管理されてい
ないので、該ベクトル命令の再発行は勿論、中断要素か
らの再開処理も困難であった。
Therefore, as mentioned above, the load/store pipeline 2
When a page fault occurs in 1 and the processing in the load/store pipeline 21 is interrupted, processing in other calculation pipelines 20 may be similarly interrupted; The address of the vector instruction being executed (indicated by the program status word (PSW) of the scalar unit (SU)) as well as the element number at the time of interruption are not managed by the scalar unit (SLL). It is difficult not only to reissue the vector instruction but also to resume processing from the interrupted element.

そこで、従来方式においては、上記のごとき仮想記憶方
式をとるベクトル計算機において、ページフォルトが発
生したときの、オペレイティングシステム(O3)への
割込み→ページ獲得→再実行という一連のプロセスを、
いかなる場合にも矛盾なく実行する為に、本図(b2)
に示したように、該ページフォルトを発生させる可能性
のあるベクトル命令、即ち、主記憶装置(MSU) 1
へのアクセスを伴うベクトル命令(ベクトルロード命令
/ベクトルストア命令)は、他のベクトル命令とはオー
バラップさせることなく、シリアライズして、単独で実
行させていた。
Therefore, in the conventional method, when a page fault occurs in a vector computer that uses the virtual memory method as described above, the series of processes of interrupting the operating system (O3) → page acquisition → re-execution are as follows:
In order to execute without contradiction in any case, this figure (b2)
As shown in FIG. 1, the vector instruction that may cause the page fault is
Vector instructions (vector load instructions/vector store instructions) that involve access to are serialized and executed independently without overlapping with other vector instructions.

上記ロード/ストアパイプライン21にステータスレジ
スタ210を設けて、ページフォルトを発生したとき、
オペレイティングシステム(O3)の命令によって、該
ステータスレジスタ210の内容を読み出し、該読み出
された内容に従って、該中断されたベクトル命令を再発
行し、該ページフォルト発生の直前の要素から、該中断
されたベクトル命令を実行する方式については、本願出
願人が特願平1−53674号「ベクトル命令処理方式
」で開示しである技術である。
By providing a status register 210 in the load/store pipeline 21, when a page fault occurs,
The contents of the status register 210 are read according to the instruction of the operating system (O3), the interrupted vector instruction is reissued according to the read contents, and the interrupted vector instruction is started from the element immediately before the occurrence of the page fault. The method for executing the vector instruction is a technique disclosed by the applicant in Japanese Patent Application No. 1-53674 titled "Vector Instruction Processing Method."

この従来方式においては、メモリアクセスを伴うベクト
ル命令がスカラユニット(SU)で検出されたとき、後
続する他のベクトル命令のベクトル演算ッ)(Vtl)
2への投入を抑止するので、複数個のベクトル命令をオ
ーバラップさせて処理することができない。
In this conventional method, when a vector instruction that involves memory access is detected in a scalar unit (SU), vector operations (Vtl) of other subsequent vector instructions are detected.
2, it is not possible to process multiple vector instructions in an overlapping manner.

従って、ロード/ストアパイプライン21以外の他の演
算パイプライン20は未使用の状態となっており、本来
使用可能であるこれらの演算パイプライン20が非使用
の状態とされることにより、該非使用の演算パイプライ
ン20の分だけ、当該ベクトル計算機の性能が低下する
ことになる。
Therefore, the other arithmetic pipelines 20 other than the load/store pipeline 21 are in an unused state, and by making these arithmetic pipelines 20 that are originally usable into an unused state, the unused state is The performance of the vector computer is reduced by the amount of the calculation pipeline 20.

本発明は上記従来の欠点に鑑み、ベクトル演算を複数個
のパイプラインで処理し、且つ、オンデマンドページン
グ方式による仮想記憶空間上でベクトル命令を処理する
ベクトル計算機において、オンデマンドページングモー
ド下においても、上記複数個のパイプラインをできる限
り、並列に使用することができるベクトル命令多重処理
方式を提供することを目的とするものである。
In view of the above conventional drawbacks, the present invention provides a vector computer that processes vector operations using a plurality of pipelines and processes vector instructions on a virtual storage space using an on-demand paging method, even under an on-demand paging mode. , it is an object of the present invention to provide a vector instruction multiprocessing method that allows the plurality of pipelines described above to be used in parallel as much as possible.

〔課題を解決するための手段〕[Means to solve the problem]

上記の問題点は下記の如くに構成したベクトル命令多重
処理方式によって達成される。
The above problem can be achieved by a vector instruction multiple processing system configured as follows.

ベクトル演算を複数個のパイプラインで処理し。Process vector operations using multiple pipelines.

且つ、オンデマンドページング方式による仮想記憶方式
をとるベクトル計算機において、主記憶装置(MSU)
をアクセスするパイプラインでページフォルトが発生し
たとき、上記複数個の全パイプラインでのベクトル命令
の処理を中断すると共に、 上記主記憶装置(MSU)をアクセスするパイプライン
と、主記憶装置(MSU)をアクセスしないパイプライ
ンとの両方に、上記中断したときの各パイプラインで処
理中のベクトル命令の状態を保持する手段を設けて、 上記ページフォルトが発生して、各パイプラインでのベ
クトル処理を中断し、上記主記憶装置(MSU)上のオ
ペレイティングシステム(O5)に割込んだとき、該オ
ペレイティングシステム(O3)からの再開指示に基づ
いて、上記保持手段に格納されている中断状態から、各
パイプラインで中断されている複数個のベクトル命令の
処理を再開するように構成する。
In addition, in a vector computer that uses a virtual storage system based on an on-demand paging system, the main storage unit (MSU)
When a page fault occurs in a pipeline that accesses a ) in both the pipelines that do not access When interrupting the operating system (O5) on the main storage unit (MSU), based on a restart instruction from the operating system (O3), the suspended state stored in the holding means is The configuration is configured to resume processing of a plurality of vector instructions suspended in each pipeline.

〔作用〕[Effect]

即ち、本発明によれば、ベクトル演算を複数のバイブラ
インで処理するベクトル計算機において、ロード/スト
アバイブラインと、他の演算バイブラインのそれぞれに
、ステータスレジスタを設けるように構成する。
That is, according to the present invention, in a vector computer that processes vector operations using a plurality of vibe lines, a status register is provided for each of the load/store vibe line and other operation vibe lines.

従って、上記ロード/ストアパイプライン、及び、演算
バイブラインが全て動作中において、メモリアクセスを
行うロード/ストアパイプラインで、ページフォルトが
発生すると、スカラユニッ) (SU)に対してページ
フォルトの割込み■が通知されると同時に、該ロード/
ストアパイプラインは勿論9他の演算バイブラインも、
全て、ベクトル命令の処理が中断され、そのときのベク
トル命令、及び、要素番号が、それぞれのバイブライン
に備えられているステータスレジスタに保持される。
Therefore, if a page fault occurs in the load/store pipeline that accesses memory while the above load/store pipeline and arithmetic vibe line are all in operation, a page fault interrupt is sent to the scalar unit (SU). is notified, and at the same time the corresponding load/
Not only the store pipeline but also 9 other calculation vibe lines,
Processing of all vector instructions is interrupted, and the vector instruction and element number at that time are held in the status register provided in each vibe line.

スカラユニット(SU)のオペレイティングシステム(
O5)は、該割込み通知により、剖込み処理ルーチン(
ページフォルトルーチン)に分岐し、ページ獲得処理を
行う。
Scalar unit (SU) operating system (
O5) executes the autopsy processing routine (
Page fault routine) and performs page acquisition processing.

ここで、ページ獲得に成功した場合は、該オペレイティ
ングシステム(O3)からの指示に基づき、各バイブラ
インで中断されたベクトル命令が再発行され、それぞれ
のバイブラインに具備されているステータスレジスタに
格納されている要素番号(エレメント番号)以降のエレ
メントについて処理を再開する。
Here, if the page acquisition is successful, the vector instructions that were interrupted in each vibe line are reissued based on instructions from the operating system (O3), and the status registers provided in each vibe line are updated. Resumes processing for elements after the stored element number (element number).

このとき、各演算バイブライン中で実行途中のベクトル
命令に、処理の順序性があると、別途設けられているプ
ロセスステータスレジスタに保持されている内容に従っ
て、定められた順序の通りに実行される。
At this time, if the vector instructions that are being executed in each operation vibe line have a processing order, they will be executed in the predetermined order according to the contents held in the separately provided process status register. .

従って、本発明によれば、仮想記憶空間上のベクトル処
理においても、ベクトル命令を、オーバラップして処理
することができ、当該ヘクトル計算機の処理能力を向上
させることができる効果がある。
Therefore, according to the present invention, even in vector processing on a virtual storage space, vector instructions can be processed in an overlapping manner, and the processing capacity of the hector computer can be improved.

(実施例〕 以下本発明の実施例を図面によって詳述する。(Example〕 Embodiments of the present invention will be described in detail below with reference to the drawings.

第1図は本発明の一実施例を示した図であり、複数個の
バイブライン、例えば、ロード/ストアパイプライン2
1.及び、演算バイブライン20のそれぞれに、ロード
/バイブライン21でメモリアクセス命令を実行中にペ
ージフォルトを検出し、それぞれのパイプラインでのベ
クトル処理を中断したときの、各パイプライン21,2
0で実行中のベクトル命令、及び、再開要素番号を保持
するステータスレジスタ210,200を設ける手段が
本発明を実施するのに必要な手段である。尚、全図を通
して同じ符号は同じ対象物を示している。
FIG. 1 is a diagram showing an embodiment of the present invention, in which a plurality of vibe lines, for example, a load/store pipeline 2
1. In each of the arithmetic vibe lines 20, when a page fault is detected while executing a memory access instruction in the load/vibe line 21 and vector processing in each pipeline is interrupted, each pipeline 21, 2
Providing status registers 210 and 200 for holding the vector instruction being executed at 0 and the restart element number is a necessary means for implementing the present invention. Note that the same reference numerals indicate the same objects throughout the figures.

以下、第1図により、本発明のベクI・ル命令多重処理
方式を説明する。
Hereinafter, the vector I/LE instruction multiple processing system of the present invention will be explained with reference to FIG.

本ベクトルユニット(VIJ) 2においては、図示さ
れている如くに、1個の口・−ド/ストアバイブライン
21.及び、3個の演算バイブライン20で構成され”
Cおり、通常、全てのパイプライン20.21にベクト
ル命令が投入されて、並列に、該ベクトル命令を処理す
る。
In this vector unit (VIJ) 2, as shown, one mouth/store vibe line 21. It is composed of three operation vibe lines 20.
Normally, vector instructions are input to all pipelines 20 and 21, and the vector instructions are processed in parallel.

今、上記1個のロード/ストアパイプライン21、及び
、3個の演算バイブライン20が、全て動作中、主記憶
装置(MSU) 1に対してメモリアクセスを実行して
いるロード/ストアパイプライン21において処理中の
ベクトル命令(ベクトルロード命令、或いは、ベクトル
ストア命令)で、前述のページフォルトが発生したとす
ると、該ロード/ストアバイブライン2工から、割込み
通知信号■が送出され、同時に、他の演算バイブライン
20でのベクトル演算が全て中断され、そのときのベク
トル命令、要素番号が、対応するステータスレジスタ2
00に表示(保持)され、該ロード/ストアパイプライ
ン21でページフォルトの発生した要素番号は、該ロー
ド/ストアパイプライン21に備えられているステータ
スレジスタ210に表示(保持)される。
Currently, the one load/store pipeline 21 and the three arithmetic pipelines 20 are all in operation, and the load/store pipeline is executing memory access to the main storage unit (MSU) 1. If the above-mentioned page fault occurs in the vector instruction (vector load instruction or vector store instruction) being processed in step 21, an interrupt notification signal (■) is sent from the load/store vibe line 2, and at the same time, All vector operations on other operation vibe lines 20 are interrupted, and the vector instruction and element number at that time are stored in the corresponding status register 20.
The element number, which is displayed (held) as 00 and in which a page fault has occurred in the load/store pipeline 21, is displayed (held) in the status register 210 provided in the load/store pipeline 21.

又、上記ロード/ストアバイブラインン21で処理中の
ベクトル命令以降に、図示されていないスカラユニット
(SO)から発行されたベクトル命令のステータスは、
完了してしまったベクトル命令も含めて、プロセスステ
ータスレジスタ22に表示(保持)される。
Furthermore, the status of vector instructions issued from a scalar unit (SO), not shown, after the vector instruction being processed by the load/store vibe line 21 is as follows:
The process status register 22 displays (holds) information including vector instructions that have already been completed.

スカラユニット(SU)におけるオペレイティングシス
テム(O3)は、上記ベクトルユニット(VU) 2か
ら出力された割込み通知信号■により、割込み処理ルー
チン(具体的には、ページフォルトルーチン)に分岐し
、ページ獲得処理に入る。
The operating system (O3) in the scalar unit (SU) branches to an interrupt processing routine (specifically, a page fault routine) in response to the interrupt notification signal (■) output from the vector unit (VU) 2, and acquires a page. Start processing.

言亥ページフォルトルーチン 得に成功した場合、オペレイティングシステム(OS)
に戻り、該ページフォルトの発生したベクトル命令,及
び、それに続くベクトル命令を、ベクトルユニット(V
U) 2に再発行する。
If the page fault routine is successful, the operating system (OS)
The vector instruction in which the page fault occurred and the following vector instructions are stored in the vector unit (V
U) Reissue on 2.

該ベクトル命令が再発行されると、ページフォルトの発
生したベクトル命令は、ステータスレジスタ210に示
される要素(エレメント)以腎のエレメントについての
み処理を行う。
When the vector instruction is reissued, the vector instruction in which the page fault occurred will process only the elements below the element indicated in the status register 210.

それに続くベクトル命令は、上記プロセスステータスレ
ジスタ22に保持されている内容に従って、既に、完了
してしまったベクトル命令は、無実行(ノーオペレーシ
ョン)とし、実行中であったベクトル命令は、それぞれ
、該当の演算パイプライン20において、処理の順序性
(例えば、ある演算パイプライン20での演算結果に基
づいて行われるベクトル演算等は、該演算パイプライン
20でのベクトル演算が終わってから開始される)に従
って、対応するステータスレジスタ200の保持するエ
レメントより処理を再開する。
Regarding the vector instructions that follow, according to the contents held in the process status register 22, vector instructions that have already been completed are not executed (no operation), and vector instructions that are currently being executed are respectively In the calculation pipeline 20, the order of processing (for example, a vector calculation performed based on the calculation result in a certain calculation pipeline 20 is started after the vector calculation in the calculation pipeline 20 is finished) Accordingly, processing is restarted from the element held in the corresponding status register 200.

勿論、該ページフォルトの発生したベクトル命令以前の
ベクトル命令については、該ページフォルトの発生した
時点で中断されている場合には、その中断されたエレメ
ントから処理を再開する。
Of course, if the vector instruction before the vector instruction in which the page fault occurred was interrupted at the time the page fault occurred, processing is restarted from the interrupted element.

若し、上記のページ獲得処理で、ページの獲得に失敗し
た場合には、該ページフォルトを発生したベクトル命令
を含む「プログラム」の実行は意味がないので、例えば
、異常終了として、上記オペレイティングシステム(O
S)がプロセスステータスレジスタ22をクリアするこ
とにより、各パイプライン20.21のステータスレジ
スタ200,210をクリアし、新たなFプログラム」
を受は付けることができるようにする。
If the above page acquisition process fails to acquire a page, there is no point in executing the "program" that includes the vector instruction that caused the page fault. System (O
S) clears the process status register 22, clears the status registers 200 and 210 of each pipeline 20 and 21, and creates a new F program.
so that the reception can be attached.

このように、本発明は、ベクトル演算を、複数個のパイ
プラインで処理するベクトル計算機(スカラユニット(
SO) 、ベクトルユニット(VU) 、主記憶装置(
MSU)からなる)において、ベクトルユニット(VU
)内の複数個のパイプライン、例えば、ロード/ストア
パイプライン21,及び、演算パイプライン20のそれ
ぞれに、ロード/パイプライン21でメモリアクセス命
令を実行中にページフォルトを検出し、それぞれのパイ
プラインでのベクトル処理を中断したときの、各パイプ
ライン21。
In this way, the present invention provides a vector calculator (scalar unit) that processes vector operations using multiple pipelines.
SO), vector unit (VU), main memory (
vector unit (VU)
), for example, the load/store pipeline 21 and the arithmetic pipeline 20, a page fault is detected while executing a memory access instruction in the load/store pipeline 21, and each pipeline is Each pipeline 21 when vector processing in the line is interrupted.

20で実行中のベクトル命令,及び、再開要素番号を保
持するステータスレジスタ210.200を設けておき
、上記ロード/ストアパイプライン21でページフォル
トを検出したとき、スカラユニット(SU)のオペレイ
ティングシステム(OS)にページフォルトの割込みを
行い、オペレイティングシステム(OS)側で、ページ
を獲得したとき、該オペレイティングシステム(OS)
からの再開指示(ベクトル命令を再発行して)に基づい
て、該ページフォルトの発生したロード/ストアパイプ
ライン21,演算パイプライン20で中断されている要
素(エレメント)から再開するようにして、仮想記憶方
式をとるベクトル計算機でメモリアクセスを行うベクト
ル命令が実行しているときでも、他の演算パイプライン
において、他のベクトル命令を並列に実行するようにし
た所に特徴がある。
Status registers 210 and 200 are provided to hold the vector instruction being executed in 20 and the restart element number, and when a page fault is detected in the load/store pipeline 21, the operating system of the scalar unit (SU) When a page fault is issued to the operating system (OS) and the page is acquired on the operating system (OS) side, the operating system (OS)
Based on the restart instruction (by reissuing the vector instruction) from the page fault, the page fault is restarted from the interrupted element in the load/store pipeline 21 and calculation pipeline 20, The feature is that even when a vector instruction that accesses memory is being executed in a vector computer that uses a virtual memory method, other vector instructions are executed in parallel in other calculation pipelines.

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

以上、詳細に説明したように、本発明のベクトル命令多
重処理方式は、ベクトル演算を複数個のパイプラインで
処理し,且つ、オンデマンドページング方式による仮想
記憶空間上でベクトル命令を処理するベクトル計算機の
ベクトル演算ッ)(VU)において、主記憶装置(MS
U)をアクセスするパイプラインでページフォルトが発
生したとき、複数個の全パイプラインでのベクトル命令
の処理を中断すると共に、上記主記憶装置(MSU)を
アクセスするパイプライン(ロード/ストアパイプライ
ン)と、主記憶装’It. (MSU)をアクセスしな
いバイプライン(演算バイブライン)との両方に、上記
中断したときの各バイブラインで処理中のベクトル命令
の状態(再開要素番号等)を保持する手段(ステータス
レジスタ)を設けて、上記ページフォルトが発生して、
各バイブラインでのベクトル処理を中断し、上記主記憶
袋?! (MSIJ)上のオペレイティングシステム(
O5)に割込んだとき、該オペレーティングシステム(
OS)からの再開指示に基づいて、上記保持手段(ステ
ータスレジスタ)に格納されている中断状態から、各バ
イブラインで中断されている複数個のベクトル命令の処
理を再開するようにしたものであるので、仮想記憶空間
上でのベクトル処理においても、ベクトルロード/スト
ア命令以外の複数個のベクトル命令をオーバラップして
処理することが可能となり、当該ベクトル計算機の処理
能力を、格段に向上させることができる効果がある。
As described above in detail, the vector instruction multiprocessing method of the present invention is a vector computer that processes vector operations in multiple pipelines and processes vector instructions in a virtual storage space using an on-demand paging method. In the vector operation (VU), the main memory (MS
When a page fault occurs in a pipeline that accesses the main storage unit (MSU), vector instruction processing in all multiple pipelines is interrupted, and the pipeline that accesses the main storage unit (MSU) (load/store pipeline ) and the main memory 'It. A means (status register) is provided for both the bypass line (operation vibe line) that does not access the MSU (MSU) and the status of the vector instruction being processed on each vibe line (resuming element number, etc.) at the time of the above interruption. , the above page fault occurs,
Interrupt vector processing in each vibe line and the main memory bag above? ! (MSIJ) operating system (
O5), the operating system (
Based on a restart instruction from the operating system (OS), processing of a plurality of vector instructions suspended on each vibe line is restarted from the suspended state stored in the holding means (status register). Therefore, even in vector processing on the virtual memory space, it is possible to overlap and process multiple vector instructions other than vector load/store instructions, thereby significantly improving the processing capacity of the vector computer. It has the effect of

第2図は従来のベクトル命令処理方式を説明する図。FIG. 2 is a diagram explaining a conventional vector instruction processing method.

である。It is.

図面において、 工は主記憶装置(MSU) 。In the drawing, The main storage unit (MSU).

2はベクトルユニット(VU)。2 is a vector unit (VU).

20は演算バイブライン。20 is the calculation vibe line.

200はステータスレジスタ。200 is a status register.

21はロード/ストアバイブライン。21 is the load/store vibe line.

210はステータスレジスタ。210 is a status register.

22はプロセスステータスレジスタ。22 is a process status register.

■は割込み通知信号、又は、割込み。■ is an interrupt notification signal or an interrupt.

をそれぞれ示す。are shown respectively.

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

第1図は本発明の一実施例を示した図。 FIG. 1 is a diagram showing an embodiment of the present invention.

Claims (1)

【特許請求の範囲】 ベクトル演算を複数個のパイプライン(20,21)で
処理し、且つ、オンデマンドページング方式による仮想
記憶方式をとるベクトル計算機において、主記憶装置(
MSU)(1)をアクセスするパイプライン(21)で
ページフォルトが発生したとき、上記複数個の全パイプ
ライン(21,20)でのベクトル命令の処理を中断す
ると共に、 上記主記憶装置(MSU)(1)をアクセスするパイプ
ライン(21)と、主記憶装置(MSU)(1)をアク
セスしないパイプライン(20)との両方に、上記中断
したときの各パイプライン(21,20)で処理中のベ
クトル命令の状態を保持する手段(210,200)を
設けて、上記ページフォルトが発生して、各パイプライ
ン(21,20)でのベクトル処理を中断し、上記主記
憶装置(MSU)(1)上のオペレーティングシステム
(OS)に割込んだとき、該オペレーティングシステム
(OS)からの再開指示に基づいて、上記保持手段(2
10,200)に格納されている中断状態から、各パイ
プライン(21,20)で中断されている複数個のベク
トル命令の処理を再開することを特徴とするベクトル命
令多重処理方式。
[Claims] In a vector computer that processes vector operations using a plurality of pipelines (20, 21) and uses a virtual storage system using an on-demand paging system, the main storage (
When a page fault occurs in the pipeline (21) that accesses the main storage unit (MSU) (1), processing of vector instructions in all the pipelines (21, 20) is interrupted, and the main storage unit (MSU) ) (1) and the pipeline (20) that does not access the main storage unit (MSU) (1), each pipeline (21, 20) at the time of the above interruption. Means (210, 200) for holding the state of the vector instruction being processed is provided, so that when the page fault occurs, vector processing in each pipeline (21, 20) is interrupted, and the state of the vector instruction in the main storage unit (MSU) is interrupted. ) (1) When interrupting the operating system (OS) above, the holding means (2
10, 200), restarting processing of a plurality of vector instructions suspended in each pipeline (21, 20).
JP2155808A 1990-06-14 1990-06-14 Multiplex processing system for vector instruction Pending JPH0452759A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2155808A JPH0452759A (en) 1990-06-14 1990-06-14 Multiplex processing system for vector instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2155808A JPH0452759A (en) 1990-06-14 1990-06-14 Multiplex processing system for vector instruction

Publications (1)

Publication Number Publication Date
JPH0452759A true JPH0452759A (en) 1992-02-20

Family

ID=15613911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2155808A Pending JPH0452759A (en) 1990-06-14 1990-06-14 Multiplex processing system for vector instruction

Country Status (1)

Country Link
JP (1) JPH0452759A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328854A (en) * 1995-05-30 1996-12-13 Kofu Nippon Denki Kk Pipeline data processor
US11055132B2 (en) 2018-03-26 2021-07-06 Nec Corporation Multicore page fault processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328854A (en) * 1995-05-30 1996-12-13 Kofu Nippon Denki Kk Pipeline data processor
US11055132B2 (en) 2018-03-26 2021-07-06 Nec Corporation Multicore page fault processing

Similar Documents

Publication Publication Date Title
JP2765411B2 (en) Virtual computer system
US5113521A (en) Method and apparatus for handling faults of vector instructions causing memory management exceptions
US5043867A (en) Exception reporting mechanism for a vector processor
JPH0517588B2 (en)
JPS59201154A (en) Method and apparatus for adjusting execution of instruction by joint processor
JPS63279328A (en) Control system for guest execution of virtual computer system
JPH0452759A (en) Multiplex processing system for vector instruction
JP2823230B2 (en) How to continue processing
JP4114946B2 (en) Data processing device
JP2778717B2 (en) Data processing unit
JPH0668725B2 (en) Device for responding to interrupt condition in data processing system and method for responding to asynchronous interrupt condition
JPH0754467B2 (en) Data processing device
JP4756599B2 (en) Data processing device
JP2849189B2 (en) Exception handling system
JP2562838B2 (en) Processor and store buffer control method
JPH0250259A (en) Method and apparatus for handling exception of non-synchronous memory control with vector processor
JPS62267869A (en) Processing system at time of arithmetic exception of vector processor
JPS58182766A (en) Program tracing device
JPS6136850A (en) Input and output interruption information system
JP2765831B2 (en) Data processing device
JPH0234058B2 (en)
JPS58166454A (en) Data processor
JPH0375832A (en) Virtual machine control system
JPS59189452A (en) Queue structure for data processor
JPH01175052A (en) Microaddress register mechanism