JPH01162941A - データセーブ方式 - Google Patents

データセーブ方式

Info

Publication number
JPH01162941A
JPH01162941A JP62320131A JP32013187A JPH01162941A JP H01162941 A JPH01162941 A JP H01162941A JP 62320131 A JP62320131 A JP 62320131A JP 32013187 A JP32013187 A JP 32013187A JP H01162941 A JPH01162941 A JP H01162941A
Authority
JP
Japan
Prior art keywords
data
arithmetic
stored
memory
calculation
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
JP62320131A
Other languages
English (en)
Inventor
Tsuyoshi Mori
森 強
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 JP62320131A priority Critical patent/JPH01162941A/ja
Publication of JPH01162941A publication Critical patent/JPH01162941A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概  要〕 複数の演算手段におけるフェッチデータのセーブ方式に
関し、 セーブバッファを設けることなく演算すべきデータを記
憶し、回路を複雑にさらには増大させることなく再演算
を可能としたデータセーブ方式を提供することを目的と
し、 メモリに格納されたデータを読出して記憶する第1、第
2の記憶手段と、該記憶したデータを演算して前記メモ
リに格納する第1、第2の演算手段と、前記第1、第2
の記憶手段と前記第1、第2の演算手段とを制御して前
記メモリに格納されたデータを演算する制御を行うとと
もに、前記第1、第2の演算手段の一方で演算を行う時
に前記第1、第2の記憶手段の両方に前記メモリから読
出したデータを格納する制御を行う制御手段とを有する
ように構成する。
〔産業上の利用分野〕
本発明は演算処理装置に係り、さらに詳しくは複数の演
算手段におけるフェッチデータのセーブ方式に関する。
〔従来の技術〕
汎用コンピュータ等にはALUを有する論理演算処理ユ
ニットが設けられている。この論理演算処理ユニットに
おいては整数型の加算や減算さらには論理演算を行うが
、この論理演算処理ユニットではフローティング演算す
なわち浮動小数点演算を行うことはできず、このフロー
ティング演算を行うためにフローティング演算処理ユニ
ットを別に設けている。
上述のような論理演算処理ユニットさらにはフローティ
ング演算処理ユニットには一般的にセーブバッファを設
け、演算中のエラー等に対して再度その演算が行えるよ
うになっている。このセーブバッファは以下の理由によ
って設けられている。
例えば、メモリからオペランドをフェッチし、演算後同
じ位置にストアする命令において、ストア動作がまだ一
度も前記メモリに対して行われていない時点でエラーが
発生した場合にはメモリ内のオペランドは変更されない
。よってエラーが発生した時点における実行中の命令を
、メモリから再び読み出して最初からやり直すことがで
き、エラーのない結果を求めなおすことができる。しか
しながら、複数回のストア動作を行うような命令で、最
初のストア動作が行われた後から命令が完了するまでの
間にエラーが発生すると、メモリ内のオペランドの一部
は変更を受けているため、命令の最初から演算を再度行
ってもエラーを発生しない場合の結果を得ることができ
なくなってしまう。これは、命令を実行する直前のデー
タが途中で行うストア動作によって変更されてしまうか
らである。さらに具体的な例を第4図を参照して説明す
る。例えばメモリMI M2に値A、Bが記憶されてお
り、さらに汎用レジスタGR内に値C5Dが記憶されて
いるものとする。ここで、メモリM1の内容値Aと汎用
レジスタGR内の値Cとを加算してメモリM1に、また
メモリM2の内容値Bと汎用レジスタGR内の値りとを
加算してメモIJ M 2に格納するときを考える。こ
のような場合先ず第1のステップ31においてメモリM
lの値へをレジスタX、に、汎用レジスタGRの値Cを
レジスタX、に格納する。そして第2のステップS2に
おいて、メモリM2の値BをレジスタX2に、汎用レジ
スタGRO値りをレジスタX4に格納する。この後、ス
テップS3、S4において、ALUに対し、順次レジス
タXz 1Xsの値B。
Dを入力して加算させ、その結果をレジスタX2に、さ
らにレジスタXI、X3の値ASCを入力して加算させ
、レジスタXIに格納している。そしてさらに、ステッ
プ35.S6においてレジスタX8、x2の値すなわち
A+C,B+D(7)結果をメモリM1、M2に格納し
ている。このようなステップ31〜S6において、ステ
ップ81〜S4内でエラーが発生した場合には、メモリ
M1、M2さらには汎用レジスタGRの値は変化してい
ないので再度実行させることができるが、レジスタX+
、XzからメモリM1、M2へ格納する時点でエラーが
発生した場合、メモリM1、M2内に格納されている値
A、Bが変化してしまう。このため、実行前の値が失わ
れてしまい、再度の実行に意味を有さないこととなって
しまう。
このようなエラーに対しても、再度の繰り返しを可能と
するため、セーブバ・ノファなるものを設け、例えばメ
モリMl、M2からデータを読取ってレジスタに格納す
るステップSl、82時に同時にその値A、Bをセーブ
バッファに格納するようにしている。
〔発明が解決しようとする問題点〕 上述したセーブバッファを設けた方式によって、エラー
時の再実行が可能となり、コンピュータシステムにおけ
る実行エラーの発生を防止することができた。しかしな
がら、この反面、セーブバッファを設けなければならず
、回路が複雑となってしまう問題が発生した。さらに論
理演算ユニットとフローティング演算ユニットとを有す
るシステムにおいては、それぞれにセーブバッファを設
けるため、回路が複雑になるとともに回路が増大してし
まう問題を有していた。
本発明は上記従来の欠点に鑑み、セーブバッファを設け
ることなく演算すべきデータを記憶し、回路を複雑にさ
らには増大させることなく再演算を可能としたデータセ
ーブ方式を提供することを目的とする。
〔問題点を解決するための手段〕
第1図は本発明のブロック図である。第1、第2の記憶
手段1.2はメモリに格納されたデータを記憶するレジ
スタ、第1の演算手段3は例えば論理演算回路であり、
第1の記憶手段lに格納されているデータを読取って第
1の記憶手段1に演算結果を格納する演算回路、第2の
演算手段4は例えばフローティングの演算回路であり、
第2の記憶手段2に格納されているデータを読取って第
2の記憶手段2に演算結果を格納する演算回路である。
制御手段5は前記第1、第2の記憶手段l、2と前記第
1、第2の演算手段3.4とを制御してメモリ内のデー
タを演算して格納させる制御を行うとともに、第1、第
2の演算手段3.4の一方で演算を行うように前記第1
、第2の記憶手段1.2に前記メモリから読出したデー
タを格納する制御を行う回路である。
〔作   用〕
第1の記憶手段と第1の演算手段、さらに第2の記憶手
段と第2の演算手段とは対をなしており、一方の演算を
実行するときには他方は演算に対し何ら動作しないが、
その演算に係るデータを記憶している。このため、例え
ば演算等にエラーが発生し、元のデータが失われても、
演算を行わない他方の記憶手段にデータが記憶されてい
るのでこのデータを用いて実行前のデータを再生するこ
とができる。
〔実  施  例〕
以下、図面を用いて本発明の詳細な説明する。
第2図は本発明の実施例の構成図である。コンピュータ
システム内のパスライン10に、メモリ11、論理演算
回路6、フローティング演算回路8が接続している。メ
モリ11はプログラムを記憶するとともにスタック等に
おけるデータを記憶している。図示しない装置によって
プログラムを続出した時その命令が演算命令であった場
合には、論理演算回路6やフローティング演算回路8を
動作させる。
論理演算回路6は基本的にはバッファ61.62、選択
回路63〜66、演算レジスタ67〜70、フラグレジ
スタ?1,72、論理演算ユニット (アリスメテック
ロジックユニットALU)73、汎用レジスタ74より
成る。またフローティング演算回路8は基本的にはバッ
ファ81,82、選択回路83〜86、演算レジスタ8
7〜90、フラグレジスタ91,92、フローティング
演算ユニット(FLU)93、フローティングレジスタ
94より成る。
論理演算回路6の論理演算ユニット73は演算レジスタ
67.68の一方と演算レジスタ69゜70の一方とを
用いて演算レジスタ67.68の一方あるいは他方に結
果を格納する構成となっている。演算レジスタ67.6
8の出力は選択回路65に加わり、この選択回路65の
一方の選択によって論理演算ユニット73にその内容が
加わる。
また演算レジスタ69.70の出力も同様に選択回路6
6に加わっており、選択回路66の選択によってその内
容が加わる。
この2個の出力を用いて論理演算ユニット73は、論理
演算を行い、その結果を選択回路63゜64を介してレ
ジスタ67.68に加える。選択回路63.64はバッ
ファ61を介してパスライン10に接続しており、パス
ライン10上のデータはパスラインから選択回路63.
64に加わり、これらの選択回路63.64によって演
算レジスタ67.68に記憶される。前述したように選
択回路63.64は論理演算ユニット73の出力をも選
択するようになっており、論理演算ユニット73の出力
結果を例えば演算レジスタ67に記憶させる時には選択
回路63が論理演算ユニット73の出力を選択する時に
動作し、パスライン10上のデータを演算レジスタ67
に格納する時には、選択回路63はバッファ61の出力
を選択する。
また選択回路64も同様である。
選択回路65は論理演算ユニット73に演算レジスタ6
3.64の一方のデータを出力するように選択する。ま
た選択回路66は論理演算レジスタ69.70の一方の
データを出力するように選択する。すなわち選択回路6
5.66によって演算レジスタ67.68と演算レジス
タ69.70が選択される。論理演算回路6内には図示
しないがこれらを制御する制御回路を有しており、前述
の選択や格納はこの制御回路によってなされる。
論理演算ユニット73の結果は上述したように演算レジ
スタ67.68に格納されるが、これは選択回路65を
介して汎用レジスタ74や更にバッファ62とパスライ
ン10を介してメモリ11に格納される。
フローティング演算回路8のフローティング演算ユニッ
ト93は演算レジスタ87.88の一方と演算レジスタ
89.90の一方とを用いて演算レジスタ87.88の
一方あるいは他方に結果を格納する構成となっている。
演算レジスタ87゜88の出力は選択回路85に加わり
、この選択回路85の一方の選択によってフローティン
グ演算ユニット93にその内容が加わる。また演算レジ
スタ89.90の出力も同様に選択回路86に加わって
おり、選択回路86の選択によってその内容が加わる。
この2個の出力を用いてフローティング演算ユニット9
3は、論理演算を行い、その結果を選択回路83.84
を介してレジスタ87.88に加える。選択回路83.
84はバッファ81を介してパスライン10に接続して
おり、パスライン10上のデータはパスラインから選択
回路83.84に加わり、これらの選択回路によって演
算レジスタ87.88に記憶される。前述したように選
択回路83.84はフローティング演算ユニット93の
出力をも選択するようになっており、フローティング演
算ユニット93の出力結果を例えば演算レジスタ87に
記憶させる時には選択回路83がフローティング演算ユ
ニット93の出力を選択する時に動作し、パスライン1
0上のデータを演算レジスタ87に格納する時には、選
択回路83はバッフ281の出力を選択する。また選択
回路84も同様である。
選択回路85はフローティング演算ユニット93に演算
レジスタ83.84の一方のデータを出力するように選
択する。また選択回路86は演算レジスタ89.90の
一方のデータを出力するように選択する。すなわち選択
回路85.86によって演算レジスタ87.88と演算
レジスタ89゜90が選択される。フローティング演算
回路8内には図示しないがこれらを制御する制御回路を
有しており、前述の選択や格納はこの制御回路によって
なされる。
フローティング演算ユニット93の結果は上述したよう
に演算レジスタ87.88に格納されるが、これは選択
回路85を介してフローティングレジスタ94や更にバ
ッファ82とパスラインlOを介してメモリ11に格納
される。
上述した動作によって各種の論理演算やフローティング
演算を行うことができる。
前述した論理演算回路6、フローティング演算回路8が
各種の演算をそれぞれ独立した動作で行った場合には、
エラー等の発生した時に再度の演算を行った場合、その
元となるデータが書換えられてしまうことがある。これ
を防止するため、第2図の本発明の実施例においては論
理演算回路6とフローティング演算回路8を制御する制
御部100と、各演算レジスタ67.6B、87.88
に対するフラグレジスタ71,72,91.92を有し
ている。
これらのフラグレジスタ91.92は、論理演算回路6
が演算を実行する際に同時に演算レジスタ87.88に
もデータを記憶させた時に1とするレジスタである。そ
して例えばエラーが発生した時に再度実行させるために
論理演算回路6の演算動作によって消えてしまった元の
データを再現する場合、そのフラグを検出してデータが
記憶されていることを確認しメモリ等にその演算レジス
タに格納されているデータを格納し、演算実行前のデー
タ値を再現する。
フラグレジスタ71.72と前述したフラグレジスタ9
1.92とは同様に動作するものであり、フローティン
グ演算回路8が演算を実行する際に同時に演算レジスタ
67.68にもデータを記憶させた時に1とするレジス
タである。そして、エラーが発生した時に再度実行させ
るために、フローティング演算回路8の演算動作によっ
て消えてしまった元のデータを再現する場合、そのフラ
グを検出して、データが記憶されていることを確認し、
メモリ等にその演算レジスタに格納されるデータを格納
し、演算実行前のデータ値を再現する。
第3図は本発明の実施例の状態チャートである。
この状態チャートはメモリ11内のデータA、  Bと
汎用レジスタ74内のデータC,DからA+CとB+D
を求め、その結果をメモリ11内のデータA、Bが格納
されていた領域に格納する処理の場合を表わしている。
この処理を行う場合、先ずステップSTIにおいてメモ
リ11内のデータAを読出し、演算レジスタ87.67
に格納する。
第3図においては論理演算回路6における演算であるが
、前述したようにフローティング演算回路8内の演算レ
ジスタ87にもデータAを格納する。
尚、この時、フラグレジスタ91には、データAをセー
ブしたことを表わすフラグをオンとする。
またこのステップSTIにおいては汎用レジスタ74内
のデータCが演算レジスタ69に格納される。
次に、ステップST2においては、メモリll内のデー
タBを演算レジスタ88.68に汎用レジスタ74のデ
ータDを演算レジスタ70に格納し、フラグレジスタ9
2には、演算レジスタ88にデータBをセーブしたこと
を表わすフラグをオンとする。そして次のステップST
3.ST4によってデータをそれぞれ加算すなわち、デ
ータBとデータB並びにデータAとデータCを論理演算
ユニットで加算してその結果を演算レジスタ67゜68
に格納する。ステップST3における加算においては、
選択図!65.66は演算レジスタ68.70をそれぞ
れ選択し、論理演算ユニット73に加える。またその論
理演算ユニット73の出力は選択回路64によって選択
されて演算レジスタ68に格納される。この動作はステ
ップST4においても同様であり、選択回路65.66
が演算レジスタ67.69をそれぞれ選択し、論理演算
ユニット73に加える。そしてその論理演算ユニット7
3の出力は選択回路63によって選択されて演算レジス
タ67に格納される。前述したステップST1〜ST4
の動作によって演算レジスタ67.68に結果が格納さ
れる。その次のステップST5では選択回路65が演算
レジスタ67を選択し、バッファ62更にはパスライン
10を介してメモリに加える。更に同様に次のステップ
ST6において演算レジスタ68を選択し、バッファ6
2、パスライン10を介してメモリに格納する。上述し
た各ステ・ノブにおいて、演算レジスタ87.88に格
納されたデータ八、Bは全く使用されず、ステップST
6の終了時にも同じデータA、Bが格納されている。上
記の演算結果A十〇、B+Dがメモリに格納される時に
エラーが発生した場合、その演算する以前のデータを記
憶しているメモリ11内のデータA、Bが破壊され、異
なった値となってしまう。この場合には、制御s t 
o oの制御によってフラグレジスタ91.92がOオ
ンであることを検出した時演算レジスタ87.88を順
次選択回路85で選択し、バッファ82.パスライン1
0を介してメモリ11に格納する。この格納の終了によ
ってメモリ11内には、前述した演算を行う前のデータ
が記憶されており、再度、演算を行うことによって目的
のデータをメモリに格納することができる。前述した動
作は論理演算回路6における場合についてのちのである
が、これはフローティング演算回路8の場合にも同様で
ある。尚この時には演算レジスタ67.68内にデータ
がセーブされる。
以上本発明の実施例を用いて説明したが、従来と同様に
セーブバッファ (SAVE)101を例えば論理演算
回路6やフローティング演算回路8に設け、セーブバッ
ファ101の記憶容量が少ない時に前述した演算回路6
.8内の演算レジスタをセーブレジスタとして使用する
ことも可能である。
〔発明の効果〕
以上のべたように本発明によれば、セーブバッファを設
けることなく、エラー等の発生時のデータの再生を行う
ことができ、回路が簡単なデルタセーブ方式が得られる
【図面の簡単な説明】
第1図は本発明のブロック図、 第2図は本発明の実施例の構成図、 第3図は本発明の実施例の状態チャート、第4図は従来
の演算処理の説明図である。 1・・・第1の記憶手段、 2・・・第2の記憶手段、 3・・・第1の演算手段、 4・・・第2の演算手段、 5・・・制御手段。

Claims (1)

  1. 【特許請求の範囲】 1)メモリに格納されたデータを読出して記憶する第1
    、第2の記憶手段(1、2)と、 該記憶したデータを演算して前記メモリに格納する第1
    、第2の演算手段(3、4)と、 前記第1、第2の記憶手段(1、2)と前記第1、第2
    の演算手段(3、4)とを制御して前記メモリに格納さ
    れたデータを演算する制御を行うとともに、前記第1、
    第2の演算手段(3、4)の一方で演算を行う時に前記
    第1、第2の記憶手段の両方に前記メモリから読出した
    データを格納する制御を行う制御手段(5)とを有する
    ことを特徴とするデータセーブ方式。 2)前記制御手段(5)は、前記第1の演算手段(3)
    が読み出し、演算、格納動作の実行においてエラーを発
    生し再実行信号を受信した時に、前記第1の演算手段(
    4)に対応する第2の前記記憶手段(2)に格納してあ
    るデータを前記メモリから読出した位置に格納するとと
    もに再実行する再生手段を有することを特徴とする特許
    請求の範囲第1項記載のデータセーブ方式。
JP62320131A 1987-12-19 1987-12-19 データセーブ方式 Pending JPH01162941A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62320131A JPH01162941A (ja) 1987-12-19 1987-12-19 データセーブ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62320131A JPH01162941A (ja) 1987-12-19 1987-12-19 データセーブ方式

Publications (1)

Publication Number Publication Date
JPH01162941A true JPH01162941A (ja) 1989-06-27

Family

ID=18118050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62320131A Pending JPH01162941A (ja) 1987-12-19 1987-12-19 データセーブ方式

Country Status (1)

Country Link
JP (1) JPH01162941A (ja)

Similar Documents

Publication Publication Date Title
JPH0517588B2 (ja)
JPS6028015B2 (ja) 情報処理装置
JPS6231379B2 (ja)
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPS6313215B2 (ja)
JP2620511B2 (ja) データ・プロセッサ
JPH03286332A (ja) デジタルデータ処理装置
JPS6218057B2 (ja)
JP2000284964A (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPH01162941A (ja) データセーブ方式
JPH0222413B2 (ja)
JP2553728B2 (ja) 演算装置
JPS6116112B2 (ja)
JP4916151B2 (ja) 並列演算装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPS59220844A (ja) 命令再実行制御方式
JPH04338825A (ja) 演算処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPH04181331A (ja) 命令リトライ方式
JP2761324B2 (ja) 高速演算処理方式
JPS5995646A (ja) 演算制御装置
JP2982129B2 (ja) マイクロプログラム制御装置
JPH05120155A (ja) マイクロプログラム制御装置
JPS5846444A (ja) 電子計算機
JPS59178546A (ja) エラ−検出方式