JPH0230058B2 - - Google Patents
Info
- Publication number
- JPH0230058B2 JPH0230058B2 JP60260929A JP26092985A JPH0230058B2 JP H0230058 B2 JPH0230058 B2 JP H0230058B2 JP 60260929 A JP60260929 A JP 60260929A JP 26092985 A JP26092985 A JP 26092985A JP H0230058 B2 JPH0230058 B2 JP H0230058B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- error
- vector
- correction
- 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.)
- Expired - Lifetime
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ベクトルプロセツサのデータの誤り
検出訂正方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data error detection and correction system for a vector processor.
ベクトルプロセツサを含むデータ処理システム
は第3図に示すようにメモリMSU(メインストレ
ージユニツト)、メモリ制御装置MCU(メモリコ
ントロールユニツト)、ベクトルユニツトVU、
スカラーユニツトSU、及び磁気デイスク装置
(図示しない)などが接続されるチヤネル装置
CHPなどからなる。ベクトルユニツトVUは第5
図に示すようにプログラムから見える(指定でき
る)ベクトルレジスタVR、及び加算(Add)、
乗算(Mult)、除算(Div)各演算パイプライン、
及び図示しないがマスクレジスタなどを備える。
これらの演算パイプラインは並列動作可能であ
る。加算は例えばa+b=cというもので、メモ
リMSUよりデータa,bを読出し、加算結果c
をメモリMSUへ書込むというものである。詳し
くはこれはスカラー演算であつて、スカラーユニ
ツトSUが行なう。ベクトル演算は
〓+〓=〓
即ち
a1
a2
〓
ao+b1
b2
〓
bo=c1
c2
〓
co
というもので、ベクトルの要素a1とb1、a2とb2、
……の各加算を行ない、その結果c1、c2、……を
求めるというものである。従つて扱うデータの量
がスカラー演算に比べて遥かに多いのが特徴で、
このためベクトルレジスタVRは64KBなど大容
量である。データはメモリMSUにあり、フエツ
チ命令でa1〜an、b1〜bnが該メモリより連続し
て読出されてベクトルレジスタVRに取込まれ、
加算結果c1〜cnはベクトルレジスタVRを経てメ
モリMSUへ格納される。
As shown in Figure 3, a data processing system including a vector processor consists of a memory MSU (main storage unit), a memory control unit MCU (memory control unit), a vector unit VU,
Channel device to which the scalar unit SU, magnetic disk device (not shown), etc. are connected
Consists of CHP etc. Vector unit VU is the fifth
As shown in the figure, vector register VR that can be seen (specified) from the program and addition (Add),
Multiplication (Mult), division (Div) operation pipeline,
It also includes a mask register (not shown).
These calculation pipelines can operate in parallel. Addition is, for example, a+b=c, read data a and b from memory MSU, and add result c.
is written to the memory MSU. Specifically, this is a scalar operation and is performed by the scalar unit SU. The vector operation is 〓+〓=〓, that is, a 1 a 2 〓 a o + b 1 b 2 〓 b o = c 1 c 2 〓 c o , and the vector elements a 1 and b 1 , a 2 and b 2 ,
. . . are added, and the results c 1 , c 2 , . . . are obtained. Therefore, the amount of data handled is much larger than that of scalar operations.
For this reason, the vector register VR has a large capacity of 64KB. The data is in the memory MSU, and a 1 to an, b 1 to bn are successively read from the memory by a fetch instruction and taken into the vector register VR,
The addition results c 1 to cn are stored in the memory MSU via the vector register VR.
〔発明が解決しようとする問題点〕
スカラーユニツトSUでは取扱うデータが少な
いのでレジスタには汎用レジスタが使われるが、
ベクトルユニツトVUではレジスタVRは大容量
なのでスタテイツクRAMが使用される。しかし
ながらRAM(ランダムアクセス/メモリ)では
極く稀ながらα線照射でソフトエラーを生じる恐
れがある。同様の問題はバツフアストレージ(キ
ヤツシユメモリ)でもあるが、キヤツシユメモリ
は元々プログラムから見えないハードウエアであ
るため、同じデータがメモリにあるのでエラーを
生じたらメモリから取寄せればよいが、ベクトル
レジスタはプログラムで指定するレジスタである
のでかゝる方法はとれない。[Problem to be solved by the invention] Since the scalar unit SU handles less data, general-purpose registers are used as registers.
In the vector unit VU, static RAM is used because the register VR has a large capacity. However, in RAM (random access/memory), soft errors may occur due to alpha ray irradiation, although this is extremely rare. A similar problem occurs with buffer storage (cache memory), but since cache memory is originally a piece of hardware that is invisible to the program, the same data is in memory, so if an error occurs, it can be retrieved from memory. Vector registers are registers specified by the program, so such a method cannot be used.
1ビツトエラーに対しては、誤り検査訂正
(ECC)回路が有効である。メモリMSUもパトロ
ール、コレクシヨン機能を有し、1ビツト誤り訂
正2ビツト誤り検出(SECDEC)を行なつてい
る。第5図ではメモリ制御装置MCUが備えるロ
ード/ストアデータに対するECC回路を示して
おり、これはレジスタREG、データをチエツク
して誤りがあればその誤り位置を示すシンドロー
ムを発生するチエツク回路ECC CHK、該シンド
ロームにより誤りビツトを反転する訂正回路
ECC CORRからなる。またストアデータに対し
てはECCビツトを加える必要があるので、該ビ
ツトを発生するECCゼネレータECC GENが設け
られる。 An error checking and correction (ECC) circuit is effective for 1-bit errors. The memory MSU also has patrol and correction functions, and performs 1-bit error correction and 2-bit error detection (SECDEC). FIG. 5 shows an ECC circuit for load/store data provided in the memory control unit MCU, which includes a register REG, a check circuit ECC CHK that checks the data and generates a syndrome indicating the error location if there is an error; Correction circuit that inverts error bits due to the syndrome
Consists of ECC CORR. Furthermore, since it is necessary to add ECC bits to the store data, an ECC generator ECC GEN that generates the bits is provided.
しかしながらかゝるECC回路では、ベクトル
レジスタVR中で発生したソフトエラーには充分
対応できない。またアクセスタイムが大になる欠
点がある。即ちECCを行なうには上記のように
ECCチエツクしてエラー位置を示すシンドロー
ムビツトを発生させ、該ビツトをさらにデコード
してエラービツトの反転(補正)をするので2サ
イクルは必要である。 However, such an ECC circuit cannot adequately cope with soft errors occurring in the vector register VR. Another disadvantage is that the access time becomes long. In other words, to perform ECC, as above
Two cycles are required because the ECC check is performed to generate a syndrome bit indicating the error position, and the bit is further decoded to invert (correct) the error bit.
本発明はかゝる点を改善し、ベクトルレジスタ
のビツトエラー訂正に有効なECC方式を提供し
ようとするものである。 The present invention aims to improve these points and provide an ECC method that is effective for correcting bit errors in vector registers.
本発明は、メモリよりメモリ制御装置を通して
データをロードし、また該メモリ制御装置を通し
てデータをメモリへストアするベクトルレジスタ
と、演算パイプラインとを備えるベクトルプロセ
ツサの演算データの誤り検出訂正方式において、
該演算パイプラインの入側に誤り検出訂正回路を
また同出側に誤り検出訂正用ビツトの発生回路を
設け、メモリ制御装置には、ベクトルレジスタへ
のロードデータ及びベクトルレジスタからのスト
アデータに対する誤り検出回路を設け、該誤り検
出回路がデータ誤りを検出してもそのまゝベクト
ルレジスタへロード又はメモリへストアし、スト
ア時のデータ誤りにはメモリのデータ訂正手段を
起動することを特徴とするものである。
The present invention provides an error detection and correction method for operation data of a vector processor that includes a vector register that loads data from a memory through a memory control device and stores data into the memory through the memory control device, and an operation pipeline.
An error detection and correction circuit is provided on the input side of the arithmetic pipeline, and an error detection and correction bit generation circuit is provided on the output side of the arithmetic pipeline. The present invention is characterized in that a detection circuit is provided, and even if the error detection circuit detects a data error, the data is loaded into a vector register or stored in the memory as is, and in the event of a data error at the time of storage, data correction means in the memory is activated. It is something.
演算パイプラインの入側でECCを行えば、ベ
クトルレジスタ中でソフトエラーが発生しても充
分これを訂正でき、そしてメモリ制御装置では
ECCを行なわず、エラーチエツクするにとどめ
るのでアクセスタイムの増大を回避することがで
きる。即ちベクトル演算はパイプライン処理であ
るから第4図に示すように所要データ(E0〜
En)1、(E0〜En)2、……を逐次そして全て取込み
(ロードL)、これらのデータを逐次演算例えば加
算(Add)パイプラインに渡し、加算結果をベク
トルレジスタ等を経てメモリMSUへストアする
が、このストアはそのストアタイミングが来て始
めて行なわれるので、演算(加算)の前にECC
を行ない、加算後にECCビツト発生を行なつて
もこれらは充分吸収では、アクセスタイムの増大
にはつながらない。
If ECC is performed on the input side of the arithmetic pipeline, even if a soft error occurs in the vector register, it can be corrected sufficiently, and the memory controller
Since ECC is not performed and only error checking is performed, an increase in access time can be avoided. That is, since vector calculation is a pipeline process, the required data (E 0 ~
En) 1 , (E 0 ~ En) 2 , ... are all taken in sequentially (load L), these data are passed to a sequential operation such as an addition (Add) pipeline, and the addition results are sent to the memory MSU via a vector register etc. However, this store is performed only after the store timing has arrived, so the ECC is stored before the operation (addition).
Even if ECC bits are generated after addition, these bits are not sufficiently absorbed and do not lead to an increase in access time.
メモリ制御装置ではロードデータもストアデー
タも誤りチエツクするだけで誤り訂正は行なわな
いが、誤りが分ればメモリデータの訂正はメモリ
のストレージコレクシヨン機能を利用して容易に
行なうことができ、メモリデータの信頼性は維持
できる。 The memory control device only checks errors in load data and store data, but does not perform error correction. However, once an error is identified, memory data can be easily corrected using the memory's storage correction function. reliability can be maintained.
第1図に本発明の実施例を示す。前述のように
MSUはメモリ、MCUはメモリ制御装置、VUは
ベクトルユニツト、SUはスカラーユニツトであ
る。ベクトルユニツトに関するロード/ストアデ
ータについてはメモリ制御装置MCUにECC回路
は設けず、単に誤りチエツクのみする回路ECC
CHKを設ける。代つてベクトルユニツトVUの
演算パイプラインの入側にECC回路をまた同出
側にECC用ビツト発生回路EGを設ける。第1図
では加算(Add)パイプラインについてのみこれ
らの回路を示すが、乗算(Mult)及び除算
(Div)各パイプラインについても同様である。
FIG. 1 shows an embodiment of the present invention. As aforementioned
MSU is memory, MCU is memory control unit, VU is vector unit, and SU is scalar unit. For load/store data related to the vector unit, the memory control unit MCU does not have an ECC circuit, but an ECC circuit that simply checks for errors.
CHK will be established. Instead, an ECC circuit is provided on the input side of the arithmetic pipeline of the vector unit VU, and an ECC bit generation circuit EG is provided on the output side. Although FIG. 1 shows these circuits only for the addition (Add) pipeline, the same applies to the multiplication (Mult) and division (Div) pipelines.
メモリMSUからベクトルユニツトVUへのデ
ータロードに際してはメモリ制御装置MCUの誤
り検出回路ECC CHKがエラーチエツクし、誤り
があれば信号LOAD ECCERRを出力する。デー
タ訂正は行なわれないから誤りがあつてもその誤
りデータがベクトルレジスタVRへロードされ
る。このデータ誤りについてはメモリMSUのデ
ータが誤りであつた及びMSUからMCUへのデー
タ転送中に誤りが発生したの2通りが考えられ
る。前者についてはメモリデータの訂正をしてお
くのがよいが、後者についてはその必要はない。 When loading data from the memory MSU to the vector unit VU, the error detection circuit ECC CHK of the memory control unit MCU checks for errors and outputs a signal LOAD ECCERR if there is an error. Since no data correction is performed, even if there is an error, the error data is loaded into the vector register VR. There are two possible causes of this data error: the data in the memory MSU is erroneous, and the error occurred during data transfer from the MSU to the MCU. For the former, it is better to correct the memory data, but for the latter, it is not necessary.
ベクトルユニツトVUからメモリMSUへのデ
ータストアに際してはメモリ制御装置MCUの誤
り検出回路ECC CHKがエラーチエツクし、誤り
があれば信号ST ECCERRを出力する。しかし
この回路は誤り訂正はしないので、誤りデータが
そのまゝメモリMSUへストアされる。これは速
やかに訂正しておくのがよいので該信号ST
ECCERRはメモリコレクシヨン機能を起動し、
メモリデータの訂正を行なわせる。 When data is stored from the vector unit VU to the memory MSU, the error detection circuit ECC CHK of the memory control unit MCU checks for errors and outputs a signal ST_ECCERR if there is an error. However, since this circuit does not perform error correction, the error data is stored as is in the memory MSU. It is best to correct this as soon as possible, so the signal ST
ECCERR activates the memory collection function,
Causes memory data to be corrected.
演算パイプラインではその入側にECC回路が
あるので、ベクトルレジスタからの演算データ及
び該データに付属するECCビツトを用いて誤り
検出、訂正を行なう。また演算パイプラインの出
側のECCビツト発生回路EGは、演算結果のデー
タに対するECCビツトを発生する。 Since the arithmetic pipeline has an ECC circuit on its input side, error detection and correction are performed using the arithmetic data from the vector register and the ECC bits attached to the data. Furthermore, the ECC bit generation circuit EG on the output side of the arithmetic pipeline generates ECC bits for the data of the arithmetic result.
スカラーユニツトSU及びチヤネル装置に関す
るロード/ストアデータに対しては従来通り、メ
モリ制御装置MCUにECC回路を設ける。この
ECC回路があると、チエツク回路ECC CHKでベ
クトルユニツトVUに関するロード/ストアデー
タに誤りがあることが分つたとき、メモリMSU
上の当該データの補正を行なうことができる。即
ち誤りがあつたデータのアドレスは分つているか
ら当該アドレスのデータをメモリMSUより読出
し、メモリ制御装置MCUのスカラーユニツト用
ECC回路でこれを訂正し、訂正後のデータをメ
モリMSUの当該アドレスへ書込めばよい。第2
図にこのアドレス関係のハードウエアを示す。 As before, an ECC circuit is provided in the memory control unit MCU for load/store data regarding the scalar unit SU and the channel device. this
With the ECC circuit, when the check circuit ECC CHK detects that there is an error in the load/store data related to the vector unit VU, the memory MSU
The above data can be corrected. In other words, since the address of the data with the error is known, the data at that address is read from the memory MSU and sent to the scalar unit of the memory control unit MCU.
It is sufficient to correct this using the ECC circuit and write the corrected data to the corresponding address in the memory MSU. Second
The figure shows the hardware related to this address.
ベクトルユニツトVUはベクトル演算に際して
当該データ群のメモリMSU上のアドレスを発生
する。ADDGENがそのアドレス発生回路であ
る。該回路が発生したアドレスはレジスタREG、
ポートPORTに入り、メモリアクセスの優先判
定がされたのちメモリアドレスレジスタMSAR
に入り、メモリMSUをアクセスする。また該ア
ドレスはアドレスパイプラインAPLへ逐次格納
される。メモリMSUからベクトルユニツトVU
のデータロード時にMCUのチエツク回路ECC
CHKがデータエラーを検出すると信号LOAD
ECCERRを出力し、これはオアゲートGを通つ
てAPLが出力するアドレスを訂正アドレスレジ
スタCARへ取込ませる。これはスカラーユニツ
トSU側のポートおよびレジスタを通つてメモリ
MSUへ入り、前述のメモリ読出し、訂正、書込
みを行なわせる。またベクトルユニツトVUから
メモリMSUへのデータストア時にMCUのチエツ
ク回路ECC CHKがデータエラーを発生すると該
回路は信ST ECCERRを発生し、これもゲート
Gを通つてAPLの出力アドレスを訂正アドレス
レジスタCARへ取込ませる。 The vector unit VU generates an address on the memory MSU of the data group when performing a vector operation. ADDGEN is the address generation circuit. The address generated by the circuit is the register REG,
After entering the port PORT and determining the priority of memory access, the memory address register MSAR
and access the memory MSU. Further, the address is sequentially stored in the address pipeline APL. Memory MSU to vector unit VU
MCU check circuit ECC when loading data
Signal LOAD when CHK detects a data error
It outputs ECCERR, which causes the address output by APL to be taken into the correction address register CAR through OR gate G. This is done through the ports and registers on the scalar unit SU side.
It enters the MSU and causes the above-mentioned memory read, correction, and write operations to be performed. In addition, when the check circuit ECC CHK of the MCU generates a data error when storing data from the vector unit VU to the memory MSU, the circuit generates a signal ST ECCERR, which also passes through gate G and corrects the output address of APL to the address register CAR. to be taken into.
以上説明したように本発明によれば、ベクトル
ユニツトのメモリアクセスタイムを増大させるこ
となくベクトル演算データの誤り検出訂正を行な
うことができ、またメモリデータはそのコレクシ
ヨン機能による訂正で信頼性を確保することがで
き、甚だ有効である。又、メモリMSU、ベクト
ルレジスタVR、及びその間の転送路上のすべて
のエラーが単一の誤り検出訂正手段で救済でき
る。さらにメモリ制御装置MCUでの処理時間が
短縮されることにより、CHPやSUとのアクセス
競合制御も簡素化される。
As explained above, according to the present invention, error detection and correction of vector operation data can be performed without increasing the memory access time of the vector unit, and reliability of the memory data can be ensured by correction using its correction function. It is possible and very effective. Furthermore, all errors in the memory MSU, vector register VR, and on the transfer path between them can be corrected by a single error detection and correction means. Furthermore, by shortening the processing time in the memory control unit MCU, access conflict control with CHP and SU is also simplified.
第1図および第2図は本発明の実施例を示すブ
ロツク図、第3図はベクトル演算システムの構成
を示すブロツク図、第4図はベクトル演算の説明
図、第5図は従来例を示すブロツク図である。
図面でMSUはメモリ、MCUはメモリ制御装
置、ECCは誤り検出訂正、EGはECCビツト発生
回路、ECC CHKは誤り検出回路である。
Figures 1 and 2 are block diagrams showing an embodiment of the present invention, Figure 3 is a block diagram showing the configuration of a vector calculation system, Figure 4 is an explanatory diagram of vector calculation, and Figure 5 shows a conventional example. It is a block diagram. In the drawing, MSU is a memory, MCU is a memory control unit, ECC is an error detection and correction circuit, EG is an ECC bit generation circuit, and ECC CHK is an error detection circuit.
Claims (1)
ロードし、また該メモリ制御装置を通してデータ
をメモリへストアするベクトルレジスタと、演算
パイプラインとを備えるベクトルプロセツサの演
算データの誤り検出訂正方式において、 該演算パイプラインの入側に誤り検出訂正回路
をまた同出側に誤り検出訂正用ビツトの発生回路
を設け、メモリ制御装置には、ベクトルレジスタ
へのロードデータ及びベクトルレジスタからのス
トアデータに対する誤り検出回路を設け、 該誤り検出回路がデータ誤りを検出してもその
まゝベクトルレジスタへロード又はメモリへスト
アし、ストア時のデータ誤りにはメモリのデータ
訂正手段を起動することを特徴とするベクトルプ
ロセツサの誤り検出訂正方式。[Scope of Claims] 1. Error detection and correction of operation data of a vector processor equipped with a vector register that loads data from a memory through a memory control device and stores data into the memory through the memory control device, and an operation pipeline. In this method, an error detection and correction circuit is provided on the input side of the arithmetic pipeline, and an error detection and correction bit generation circuit is provided on the output side of the arithmetic pipeline. An error detection circuit for data is provided, and even if the error detection circuit detects a data error, the data is directly loaded into a vector register or stored into the memory, and when a data error occurs during storage, a data correction means in the memory is activated. Features an error detection and correction method for vector processors.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60260929A JPS62120545A (en) | 1985-11-20 | 1985-11-20 | Error detecting and correcting system for vector processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60260929A JPS62120545A (en) | 1985-11-20 | 1985-11-20 | Error detecting and correcting system for vector processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62120545A JPS62120545A (en) | 1987-06-01 |
| JPH0230058B2 true JPH0230058B2 (en) | 1990-07-04 |
Family
ID=17354726
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60260929A Granted JPS62120545A (en) | 1985-11-20 | 1985-11-20 | Error detecting and correcting system for vector processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62120545A (en) |
-
1985
- 1985-11-20 JP JP60260929A patent/JPS62120545A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62120545A (en) | 1987-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4701915A (en) | Error recovery system in a data processor having a control storage | |
| US7590826B2 (en) | Speculative data value usage | |
| JPH0581935B2 (en) | ||
| JPH02135536A (en) | Check point retrial mechanism | |
| US6895527B1 (en) | Error recovery for speculative memory accesses | |
| US8495452B2 (en) | Handling corrupted background data in an out of order execution environment | |
| JPH0230058B2 (en) | ||
| JPH09288619A (en) | Main storage device | |
| JPH0644238B2 (en) | Instruction re-execution control method | |
| JPH04115339A (en) | Memory error processing system | |
| JPH03241435A (en) | Pipe line system | |
| JPS59144246A (en) | Data reception control system | |
| JPH08286977A (en) | System for processing fault of in-store cache | |
| JPS5936853A (en) | Operation processor | |
| JPS59217298A (en) | Memory error relieve system | |
| JPH01133147A (en) | Data processor | |
| JPS6042506B2 (en) | Error correction method for memory contents | |
| JPS63214856A (en) | Data protection control system for data processing unit | |
| JPS58217058A (en) | Error test processing system for data | |
| JPS60238933A (en) | Error processing system of control storage device | |
| JPS63216150A (en) | Storage device | |
| JPH01297734A (en) | Instruction word fetch system | |
| JPS61198335A (en) | Branch forecasting control system | |
| JPS6039249A (en) | Operation device | |
| JPH08166891A (en) | Fault tolerant computer system |