JPS6029130B2 - Miscalculation prevention method - Google Patents
Miscalculation prevention methodInfo
- Publication number
- JPS6029130B2 JPS6029130B2 JP52133887A JP13388777A JPS6029130B2 JP S6029130 B2 JPS6029130 B2 JP S6029130B2 JP 52133887 A JP52133887 A JP 52133887A JP 13388777 A JP13388777 A JP 13388777A JP S6029130 B2 JPS6029130 B2 JP S6029130B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- circuit
- data
- output
- input
- 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
Links
Landscapes
- Calculators And Similar Devices (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】
本発明は、入力されたデータに基づいて所定の演算処理
を行う小型電子式計算機の謀演算防止方式に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for preventing fraudulent calculations in a small electronic calculator that performs predetermined calculation processing based on input data.
一般に、小型電子式計算機は予め固定的に組み込まれた
マイクロプログラムにより制御されて一連の演算が成さ
れたもので、入力されたデータはこのプログラム基づい
て演算処理され所望のデー夕が得られる。In general, a small electronic calculator is controlled by a microprogram that is fixedly installed in advance to perform a series of calculations, and input data is processed based on this program to obtain desired data.
従って、1つあるいは1組の入力データに対し複数の結
果を得る場合、その演算は1蓮のものとして処理され得
られた結果は順次複数のメモリに記憶される。そこで、
この演算処理中にエラー、例えばオーバーフロー等が生
じたりすると、あるメモリまではオーバーフローするこ
となく演算結果が入力され、それ以降のメモ川こは、オ
ーバーフローにより演算処理が停止してしまうために演
算結果が入力されず、メモリには正しい演算結果と誤っ
た演算結果とが混在記憶されてしまう欠点があった。例
えば、直線回帰計算用の固定プログラムが内蔵されてい
る計算機においては、データx,yが入力される毎に、
n(nはデータの入力回数)、2×,2×2,Zy,Z
v2,2xyが順次内蔵プログラムにより演算され、そ
の演算結果が夫々対応する内部メモ川こ記憶される。Therefore, when a plurality of results are obtained for one or one set of input data, the operations are processed as one lotus, and the obtained results are sequentially stored in a plurality of memories. Therefore,
If an error, such as an overflow, occurs during this calculation process, the calculation result will be input without overflowing up to a certain memory, and the memo after that will be interrupted because the calculation process will stop due to the overflow. is not input, and the memory has the disadvantage that a mixture of correct and incorrect calculation results is stored. For example, in a computer with a built-in fixed program for linear regression calculation, each time data x and y are input,
n (n is the number of data inputs), 2×, 2×2, Zy, Z
v2, 2xy are sequentially calculated by a built-in program, and the calculation results are stored in corresponding internal memo files.
その後、例えば四キー,国キーを操作することにより直
線式y=A十BxのA及びBの値が演算されるものであ
る。しかしながら、例えばn回目のデータ(xn,yn
)のynをまちがって非常に大きな数値として入力して
しまうと、ZnZx,2x2まではxnに基づいて演算
がなされ、夫々の内部メモリには正しい演算結果が入力
されるが、2yを求める演算途中でオーバーフローが生
じ、演算処理が停止してZyのメモリには謀まったデー
タが記憶され、また2y2,2xyのメモリは前回のデ
ータのままとなつてしまう。それ故、前記A,Bを求め
ても謀まった答となってしまうものであり、そのために
、すべてのメモリをクリアして1回目のデータx,,y
,から新たに入れ直さなければならなかった。本発明は
、上記実情に鑑みてなされたもので、演算処理中にエラ
ーがかからないことを確認してから演算結果データを所
定のレジスタに書き込むことにより演算処理が正確に行
なえ得る誤演算防止方式を提供するものである。以下、
図面を参照して本発明の一実施例を説明する。Thereafter, the values of A and B of the linear equation y=A+Bx are calculated by operating, for example, the 4 key or the country key. However, for example, the nth data (xn, yn
) If you input yn incorrectly as a very large number, calculations will be performed based on xn up to ZnZx, 2x2, and the correct calculation results will be input into each internal memory, but during the calculation to obtain 2y. An overflow occurs, the arithmetic processing is stopped, and the erroneous data is stored in the Zy memory, and the previous data remains in the 2y2 and 2xy memories. Therefore, even if the above A and B are calculated, the answer will be a contrived answer.For that reason, all the memories will be cleared and the first data x,,y
, I had to reinstall it. The present invention has been made in view of the above-mentioned circumstances, and provides a method for preventing erroneous calculations that enables accurate calculation processing by writing the calculation result data into a predetermined register after confirming that no errors occur during calculation processing. This is what we provide. below,
An embodiment of the present invention will be described with reference to the drawings.
第1図において1はROM(リード・オンリ・メモリ)
で、このROMIには、後述する各部の動作を制御する
ためのマイクロ命令が所定の2進コードで記憶されてお
り、ROMアドレス部2から出力されるアドレス信号に
対応して各種信号Su,Fu,SI,F1,Co,M,
Cp,Naを同時に且つ並列的に出力する。しかして、
上記ROMIからの出力SへFuは後述するRAM(ラ
ンダム・アクセス・メモリ)3の行アドレスを指定する
もので、Suはゲ−ト回路G,を介して、またFuはゲ
ート回路○2を介してRAM3のアドレス入力端子UA
に入力される。ゲート回路G,はタイミング信号ちが与
えられ、ゲート回路G2にはタイミング信号t,がィン
バータ4を介して与えられているため、ゲート回路G,
はちのタイミングで、またゲ−ト回路G2はt,以外、
即ちt2及びらのタイミングで開かれる。上記タイミン
グ信号t,はタイミング信号発生回路5より出力される
もので第2図にはこのタイミング信号発生回路5から出
力される信号が示されている。つまり、タイミング信号
発生回路5からはクロツクパルス◇,,で2及びクロツ
クパルスぐ・,?2に同期して順次周期的に発生するタ
イミング信号t,,t2,t3が出力されると共に、タ
イミング信号t,〜t3の1サイクル(以後、この1サ
イクルを1ディジットと称する)毎にクロックパルス?
,に同期したクロツクパルス◇oも出力される。また、
上記ROMIからの出力SI,F1,RAM3の列アド
レスを指定するもであり、通常列アドレスSIは前記行
アドレスSuと、また列アドレスFIは行アドレスFu
と夫々対をなしてRAM3のアドレス指定を行っている
。In Figure 1, 1 is ROM (read only memory)
This ROMI stores microinstructions in predetermined binary codes for controlling the operations of each section, which will be described later. ,SI,F1,Co,M,
Cp and Na are output simultaneously and in parallel. However,
Fu specifies the row address of RAM (Random Access Memory) 3, which will be described later, to the output S from the ROMI, Su goes through gate circuit G, and Fu goes through gate circuit ○2. address input terminal UA of RAM3.
is input. Since the gate circuit G, is given a timing signal t, and the gate circuit G2 is given a timing signal t, via the inverter 4, the gate circuit G,
At the timing of the bee, the gate circuit G2 also operates other than t,
That is, it is opened at timings t2 and so on. The timing signal t is output from the timing signal generation circuit 5, and FIG. 2 shows the signal output from the timing signal generation circuit 5. In other words, the timing signal generation circuit 5 outputs clock pulses ◇, 2 and clock pulses ◇, ? Timing signals t, , t2, and t3 that are generated periodically in sequence in synchronization with 2 are output, and a clock pulse is generated every cycle of the timing signals t, to t3 (hereinafter, one cycle is referred to as one digit). ?
A clock pulse ◇o synchronized with , is also output. Also,
It specifies the column address of the output SI, F1, and RAM3 from the ROMI, and usually the column address SI is the row address Su, and the column address FI is the row address Fu.
Addressing of the RAM 3 is performed in pairs with each other.
そして列アドレスSIは、後述するタイミング信号ta
の出力時にゲートが開かれるゲート回路○3を介して、
また、列アドレスFIはタイミング信号thの出力時に
ゲートが開かれるゲート回路04を介してRAM3のア
ドレス入力端子LAに入力される。また6はタイミング
デコーダであり、ROMIから出力される加算、減算、
転送、判断、シフト、データの入力及び出力等の命令コ
ード○pがオペレーションデコーダ7で解読されて入力
されると制御信号CI,OF,OS,ID,KE,SB
,JU等を出力して各回路を制御するものである。また
、このタイミングコーダ6には後述するROMIからの
モード信号M,フリツプフロツプ回路8からの信号ST
及び前記タイミング信号発生回路5からのクロックパル
スJ・,?2 ,0o,タイミング信号t,,t2,t
3も入力されており、これらの信号と上記オペレーショ
ンデコーダ7からの命令コードとによりタイミング信号
ta,tb,tc,クロツクパルス?a’ぐb,ぐc及
び後述する信号DN,R/Wを夫々出力するものである
。なお、タイミング信号ta,tbは論理式ta=M・
ST+M・t・,tb=M・t,によって得られる信号
である。また、信号Mは1マイクロ命令による処理が1
ディジット期間で終了する場合にROMIより出力され
るもので、このマイクロ命令の出力期間中論理値“1”
を出力する。まだフリップフロップ回路8からの信号S
Tは、その詳細については後述するが、各処理の最初の
1デイジット期間に“1”を出力するものである。従っ
て、上記タイミング信号ta,tbはM=“1”の場合
、つまり処理が1ディジット期間で終了する場合にはt
a=t,,tb=ら十t3となり、RAM3のアドレス
はタイミング信号t,の出力時に行アドレスSu、列ア
ドレスSIによって指定され、タイミング信号ら,t3
の出力時には、行アドレスFu、列アドレスFIによっ
て指定される。一方、M=0の場合、つまり1つのマイ
クロ命令による処理が1ディジットで終了せずに複数の
ディジットからなる場合には、タイミング信号らの時に
行アドレスSu、タイミング信号ら,t3の時に行アド
レスFuが夫々行アドレス信号としてRAM3の入力端
子UAに入力されるが、列アドレスはta:ST、Tb
= 、、0″となる為、マイクロ命令の最初の1ディジ
ット期間は列アドレスSIが入力端子LAに与えられる
。また、この列アドレスSIはタイミングデコーダ6か
ら出力されるクロックパルスめa(=?o・M)に同期
してカウント動作するカウント9にも与えられており、
このカウント9はタイミングデコーダ6からの信号DN
によってダウン又はアップのカウント動作を行う。しか
して、上記マイクロ命令の2ディジット目からはこのカ
ウント9の値がタイミング信号tc(=M・ST)でゲ
ートが開かれるゲート回路G3を介してRAM3の入力
端LAに入力されて列アドレスとなるものである。この
カウント9のカウント値はゲート回路5を介してカウン
タ9の入力端に戻され,信号DNによってダウン又はア
ップされるので順次新しい列アドレスとなる。更に、こ
のカウンタ9のカウント値は、列アドレスF】と共に一
致回路1川こ入力される。この一致回路10は、カゥン
タ9のカウント値と列アドレスFIとが一致すると一致
信号をアンド回路12の一方入力端に出力するもので、
このアンド回路12の他方入力端にはクロツクパルス◇
nが与えられており一致信号が入力されるとこのアンド
回路12からはクロツクパルス◇oが出力される。この
クロツクパルス?oはオア回路13を介してアドレス変
換回路14に読み込みパルス中eとして与えられ、この
アドレス変換回路14は読み込みパルスd8が与えられ
ると後述するようにROMIから自己の次アドレスNA
を読み込むので上記複数ディジツトからなる処理を終了
するものである。即ち、前述の如く複数のディジットか
らなるマイクロ命令の列アドレスは、列アドレスSIに
よって列アドレスの指定が開始されて、列アドレスFI
によって列アドレス指定が終了するものである。ROM
Iからの出力Coは、数値、記号等の数値記号コードで
あり、タイミングデコーダ6からの制御信号CIでゲー
トが開かれるゲート回路○6を介して後述する演算回路
15の入力端子Sに入力される。また、マイクロ命令が
1ディジットから成る場合に“1”となる出力Mはィン
バータ16を介して前記一致回路10にィネーブル信号
として供給されると共に一方端にクロックパルス?oが
与えられているアンド回路17の他方入力端及び前記一
致回路10の一致信号と共にオア回路18を介してフリ
ップフロツプ8に与えられる。The column address SI is a timing signal ta, which will be described later.
Through gate circuit ○3 whose gate is opened when the output of
Further, the column address FI is input to the address input terminal LA of the RAM 3 via a gate circuit 04 whose gate is opened when the timing signal th is output. Also, 6 is a timing decoder, which performs addition and subtraction output from ROMI.
When the instruction code ○p for transfer, judgment, shift, data input and output, etc. is decoded and input by the operation decoder 7, control signals CI, OF, OS, ID, KE, SB are generated.
, JU, etc., to control each circuit. The timing coder 6 also receives a mode signal M from ROMI, which will be described later, and a signal ST from the flip-flop circuit 8.
and clock pulses J·, ? from the timing signal generating circuit 5. 2,0o,timing signal t,,t2,t
3 is also input, and these signals and the instruction code from the operation decoder 7 generate timing signals ta, tb, tc, and clock pulses ? It outputs signals a'gb, gc and signals DN and R/W, which will be described later. Note that the timing signals ta and tb are calculated using the logical formula ta=M・
This is a signal obtained by ST+M·t·, tb=M·t. In addition, signal M can be processed by one microinstruction in one
This is output from ROMI when the digit period ends, and the logic value is “1” during the output period of this microinstruction.
Output. Still signal S from flip-flop circuit 8
T outputs "1" during the first digit period of each process, the details of which will be described later. Therefore, the timing signals ta and tb are t when M=“1”, that is, when the processing ends in one digit period.
a=t,,tb=t3, and the address of RAM3 is specified by the row address Su and column address SI when the timing signal t is output, and the address of the RAM 3 is specified by the row address Su and column address SI when the timing signal t,
When outputting, it is specified by row address Fu and column address FI. On the other hand, if M=0, that is, if the processing by one microinstruction does not end with one digit but consists of multiple digits, the row address Su when the timing signal et al., and the row address Su when the timing signal et al. Fu is input to the input terminal UA of RAM3 as a row address signal, but the column address is ta:ST, Tb.
= ,, 0'', the column address SI is given to the input terminal LA during the first digit period of the microinstruction. Also, this column address SI is the clock pulse output from the timing decoder 6 (=? It is also given to count 9, which operates in synchronization with o・M),
This count 9 is the signal DN from the timing decoder 6.
Performs down or up counting operation. From the second digit of the microinstruction, the value of count 9 is input to the input terminal LA of the RAM 3 via the gate circuit G3, whose gate is opened by the timing signal tc (=M ST), and becomes the column address. It is what it is. This count value of count 9 is returned to the input terminal of the counter 9 via the gate circuit 5, and is incremented or decreased by the signal DN, so that it becomes a new column address sequentially. Further, the count value of the counter 9 is inputted to the matching circuit 1 together with the column address F. The coincidence circuit 10 outputs a coincidence signal to one input terminal of the AND circuit 12 when the count value of the counter 9 and the column address FI match.
The other input terminal of this AND circuit 12 has a clock pulse ◇
n is given, and when a coincidence signal is input, the AND circuit 12 outputs a clock pulse ◇o. This clock pulse? o is given as e in the read pulse to the address conversion circuit 14 via the OR circuit 13, and when the address conversion circuit 14 receives the read pulse d8, it converts its own next address NA from the ROMI as will be described later.
is read, thus completing the processing of the plurality of digits described above. That is, as mentioned above, the column address of a microinstruction consisting of a plurality of digits starts with the column address SI, and then starts with the column address FI.
This ends the column addressing. ROM
The output Co from I is a numerical symbol code such as a numerical value or a symbol, and is input to the input terminal S of the arithmetic circuit 15, which will be described later, via a gate circuit ○6 whose gate is opened by the control signal CI from the timing decoder 6. Ru. Further, the output M, which becomes "1" when the microinstruction consists of one digit, is supplied as an enable signal to the matching circuit 10 via the inverter 16, and a clock pulse? It is applied to the flip-flop 8 through the OR circuit 18 together with the other input terminal of the AND circuit 17 to which o is applied and the coincidence signal from the coincidence circuit 10.
フリツプフロツプ回路8はクロツクパルス◇oに同期し
て動作するもので1ディジツト期間“1”となる信号S
Tをタイミングデコーダ6に出力する。即ち、Mが“1
”であり処理が1ディジットで終わる場合及びMが“0
”であり複数ディジットからなるマイクロ命令が一致回
路10から一致信号が出力されることにより終了する場
合にオア回路18からフリツプフロツプ回路8に信号が
出力されて、次のマイクロ命令の最初の1ディジツト期
間信号STが出力されるものである。ROMIの出力N
aは、現在進行中の処理の次の処理のアドレスコードで
あり、アドレス変換回路14へ入力される。The flip-flop circuit 8 operates in synchronization with the clock pulse ◇o, and receives a signal S that is "1" for one digit period.
T is output to the timing decoder 6. That is, M is “1”
” and the processing ends with 1 digit, and M is “0”
”, and when a microinstruction consisting of a plurality of digits is terminated by the output of a match signal from the match circuit 10, a signal is output from the OR circuit 18 to the flip-flop circuit 8, and the first digit period of the next microinstruction is completed. The signal ST is output.ROMI output N
a is the address code of the next process after the process currently in progress, and is input to the address conversion circuit 14.
このアドレス変換回路14にはアンド回路19,20の
出力信号も入力されており、アンド回路19の一方入力
端には演算回路15からの出力データがオア回路21を
介して入力され、アンド回路20の一方入力端には演算
回路15からのキャリー(又はボロー)信号が入力され
ている。また、アンド回路19,20の他方入力端には
タイミングデコーダ6からの判断信号Juが入力されて
おり、この判断信号Juは判断命令の時出力されるもの
である。そして、前記アドレス変換回路14ではNaの
内容とアンド回路19,20の出力信号とがオア加算さ
れて次の処理のアドレスが算出され、ROMアドレス部
2へ送られて新たなマイクロ命令が選択されるものであ
る。前記RAM3は、第3図に示すように行アドレス「
0」で列アドレス「0〜15」からなるAレジスタ及び
行アドレスが「1」,「2」,「3」で列アドレスが夫
々「0〜15」からなるレジスタB,C,Dと、行アド
レスが「4」,「5」,「6」,「7↓「81「9」で
夫々列アドレスが「0〜15」からなるレジスタM,,
地,地,M4,M5,鳩を有するものである。The output signals of AND circuits 19 and 20 are also input to this address conversion circuit 14, and output data from the arithmetic circuit 15 is input to one input terminal of the AND circuit 19 via an OR circuit 21. A carry (or borrow) signal from the arithmetic circuit 15 is input to one input terminal of the . Further, a judgment signal Ju from the timing decoder 6 is input to the other input terminals of the AND circuits 19 and 20, and this judgment signal Ju is output when a judgment command is issued. Then, in the address conversion circuit 14, the contents of Na and the output signals of the AND circuits 19 and 20 are OR-added to calculate the address for the next process, and the address is sent to the ROM address section 2, where a new microinstruction is selected. It is something that As shown in FIG. 3, the RAM 3 has a row address "
0" and column addresses "0 to 15"; registers B, C, and D, whose row addresses are "1", "2", and "3", and whose column addresses are "0 to 15"; Registers M whose addresses are "4", "5", "6", "7↓"81 "9" and whose column addresses are "0 to 15", respectively.
It has Earth, Earth, M4, M5, and Dove.
そして、タイミングデコーダ6からのりード・ライト信
号R/Wが”1″ の時に、端子UA,LAで指定され
るアドレスに入力端子INに入力されるデータが書き込
まれ、信号R/Wが”0″の時に端子UA,LAで指定
されるアドレスのデータが出力端子OUTから読み出さ
れるものである。通常、上記信号R/Wはタイミング信
号t,,t2の出力時に ”0″となり、t3の時に“
1”となるものである。従って、前述した如くゲート回
路○,及び○3はタイミング信号しの出力時に開かれる
ため、この時行アドレスSu及び列アドレスSIによっ
て指定されるRAM3内のデータが読み出されタイミン
グ信号t,0,時に開かれるゲート回路○,2を介して
ラツチ回路22に記憶される。また、ゲート回路G2,
G4はタイミング信号t2,らの出力時に開かれるため
、タイミング信号t2出力時には、行アドレスFu及び
列アドレスFIによって指定されるアドレスのデータが
読み出されてタイミング信号t2 で,でゲートが開か
れるゲート回路C,.を介してラツチ回路23に記憶さ
れる。ラッチ回路22,23に記憶されたデータは夫々
タイミングデコーダ6からのタイミング信号t3の時に
出力される制御信号OS,OFによって開かれるゲート
回路○8,G?を介して演算回路15の入力端子S,F
に送られて演算される。この演算回路15はタイミング
デコーダ6からの信号SBによって減算又は加算を行う
ものでSBが“0”の時は加算、“1”の時には減算が
行なわれる。また、演算回路15からのキャリー信号は
前記アンド回路20に送られ、演算結果はオア回路21
を介して前記アンド回路19に送られると共にRAM3
の入力端INにも送られ、t3のタイミングで行アドレ
スFu、列アドレスFIに指定されるタイミングに書き
込まれる。また、上記収AM3のうちの1桁は表示及び
キーサンプリング時に演算回路15を介して順次カウン
トアップされるカウント桁であり、このカウント桁の値
はゲート回路○,2、ラッチ回路22及びゲート回路0
8を介してバッファBに与えられる。このバッファBは
タイミングデコーダ6からのクロツクパルス0b(=ら
・0.・op,,op,はキ−サンプリング及び桁駆動
命令)に同期してカウント桁の値を読み込むもので、読
み込まれた値はデコーダ24を介して表示部25の桁駆
動パルスとして、また、キー入力部26のキ−サンプリ
ングパルスとして出力される。前記表示部25は、RA
M3内のレジスタAのデ−夕を表示するものであり、表
示及びキーサンプリング時には行アドレスは常に「0」
でレジスタAを指定しており、順次カウントアップされ
るカウント桁の値がゲート回路○,2、ラッチ回路22
及びタイミングデコーダ6からの表示及びキーサンプリ
ング時に出力される制御信号IDでゲートが開かれるゲ
ート回路G9を介して端子LAに入力され、これがRA
M3の列アドレスとなる。そして、このカウント桁の値
に対応するレジスタAの桁のデータがタイミング信号ら
出力時に読み出されたゲート回路G,.、ラッチ回路2
3及びゲート回路G7を介してバッファB2へ与えられ
る。バッファ&は与えられたデータをクロックパルス?
cに同期して読み込み、このデータは更にデコーダ27
を介して表示部25へ送られる。上述した如く、表示部
24にはデコーダ24から対応する桁駆動パルスが送ら
れているので、表示部25の表示桁のうちカウント桁の
値と対応する表示桁にレジスタAの同一桁の内容が表示
される。しかして「キー入力部26には、暦数キー群2
6aと直線回帰計算のデータ(x,y)を入力するため
の匡句,耳3key及び前述した如くy=Ax十BのA
,Bを求める国,国keyを含むファンクションキー群
26bが設けられている。Then, when the read/write signal R/W from the timing decoder 6 is "1", the data input to the input terminal IN is written to the address specified by the terminals UA and LA, and the signal R/W is "1". 0'', the data at the address specified by the terminals UA and LA is read from the output terminal OUT. Normally, the above signal R/W becomes "0" when the timing signals t, t2 are output, and "0" at the time of t3.
1". Therefore, as mentioned above, since gate circuits ○ and ○3 are opened when the timing signal is output, the data in RAM3 specified by row address Su and column address SI is read at this time. The output timing signal t,0 is stored in the latch circuit 22 via the gate circuit ○,2 which is opened when the timing signal t,0 is generated.Also, the gate circuit G2,
G4 is opened when the timing signal t2, etc. is output, so when the timing signal t2 is output, the data at the address specified by the row address Fu and column address FI is read out, and the gate is opened by the timing signal t2. Circuit C, . is stored in the latch circuit 23 via the latch circuit 23. The data stored in the latch circuits 22 and 23 are gate circuits ○8 and G? which are opened by the control signals OS and OF outputted at the time of the timing signal t3 from the timing decoder 6, respectively. input terminals S, F of the arithmetic circuit 15 via
is sent to and calculated. This arithmetic circuit 15 performs subtraction or addition based on the signal SB from the timing decoder 6. When SB is "0", addition is performed, and when SB is "1", subtraction is performed. Further, the carry signal from the arithmetic circuit 15 is sent to the AND circuit 20, and the arithmetic result is sent to the OR circuit 21.
is sent to the AND circuit 19 via
It is also sent to the input terminal IN of , and written at the timing specified by the row address Fu and column address FI at timing t3. Furthermore, one digit of the above-mentioned AM3 is a count digit that is counted up sequentially through the arithmetic circuit 15 during display and key sampling, and the value of this count digit is the gate circuit ○, 2, the latch circuit 22, and the gate circuit. 0
8 to buffer B. This buffer B reads the value of the count digit in synchronization with the clock pulse 0b (=ra・0.・op, , op is the key sampling and digit drive command) from the timing decoder 6, and the read value is The signal is output via the decoder 24 as a digit driving pulse for the display section 25 and as a key sampling pulse for the key input section 26 . The display section 25 displays the R.A.
It displays the data of register A in M3, and the row address is always "0" during display and key sampling.
register A is specified, and the value of the count digit that is counted up sequentially is gate circuit ○, 2, latch circuit 22
and is input to the terminal LA via the gate circuit G9 whose gate is opened by the display from the timing decoder 6 and the control signal ID output at the time of key sampling, and this is input to the terminal LA.
This is the column address of M3. Then, gate circuits G, . , latch circuit 2
3 and gate circuit G7 to buffer B2. Buffer & clock pulse given data?
This data is then read in synchronization with the decoder 27.
It is sent to the display section 25 via. As mentioned above, since the corresponding digit drive pulse is sent from the decoder 24 to the display section 24, the content of the same digit of register A is displayed in the display digit corresponding to the value of the count digit among the display digits of the display section 25. Is displayed. However, "the key input section 26 has calendar number key group 2.
6a, a square for inputting data (x, y) for linear regression calculation, ear 3key, and A of y=Ax10B as mentioned above.
, B are provided, and a function key group 26b including a country key is provided.
そして、これらの各キーは、デコーダ24からのサンプ
リングパルスが供給されるラインと、バッファ&へ出力
されるキーコモンラィンとがマトリクス状に配列された
各交点に配置されており、キー操作によって◇oのクロ
ツクパルスでバッファB2へ入力されたキーコモンデー
タは、データ入力命令時にタイミングデコーダ6から出
力される制御信号KEで開かれるゲート回路G,oを介
して演算回路l5の端子Sへ入力され、更にこの演算回
路15の端子DよりRAM3の入力端子INを介して所
定領域へ書き込まれる。この所定領域内にバッファ8の
キーコモンデータが存すれば上記カウント桁のカウント
動作が停止され、この時のカウント値とバッファ&のデ
ータによって操作キーが何であるか決定される。暦数キ
ーであればそのキーに対応する数値データが表示用のレ
ジスタAへ入力され、ファンクションキーであればその
判断結果によりROMIのアドレスコードNaがアドレ
ス変換回路14を介してROMアドレス部2へ入力され
、以下、所定の処理を行うためのマイクロ命令が順次出
力される。上述の如き構成において、直線回帰計算は、
キー入力部26の暦数キー26a、xデータ入力用キ−
Xo、yデータ入力用キーYoを操作してx,yのデー
タx,,y,,均,y2………xn,ynを入力し、こ
れらのデータから第3図に示すようにn,Zx,2×2
,Zy,2〆,Zxyの演算結果を夫々RAM3のレジ
スタM,,Nら,M3,M4,M5,M6に記憶させ、
さらに四,国keyを操作することによって直線式y=
A+Bxの係数A,BをA=y−Bx
B=n≧蔓毒−−寺姿享幸と
比し支=羊,ァ=登
なる計算を行って求めるものである。Each of these keys is arranged at each intersection where the line to which the sampling pulse from the decoder 24 is supplied and the key common line which is output to the buffer & are arranged in a matrix, and by key operation ◇ The key common data inputted to the buffer B2 by the clock pulse o is inputted to the terminal S of the arithmetic circuit l5 via the gate circuit G, which is opened by the control signal KE outputted from the timing decoder 6 at the time of a data input command. Further, the data is written from the terminal D of the arithmetic circuit 15 to a predetermined area via the input terminal IN of the RAM 3. If the key common data of the buffer 8 exists within this predetermined area, the counting operation of the count digits is stopped, and the operation key is determined based on the count value at this time and the data in the buffer &. If it is a calendar number key, the numerical data corresponding to that key is input to the display register A, and if it is a function key, the address code Na of ROMI is sent to the ROM address section 2 via the address conversion circuit 14 based on the judgment result. After that, microinstructions for performing predetermined processing are sequentially output. In the above configuration, linear regression calculation is
Calendar number key 26a of key input section 26, x data input key
By operating the Xo, y data input key Yo, input the x, y data x,, y,, average, y2...xn, yn, and from these data n, Zx as shown in Figure 3. ,2×2
, Zy, 2〆, and Zxy are stored in registers M, , N, etc., M3, M4, M5, and M6 of RAM3, respectively,
Furthermore, by operating the country key, the linear equation y=
It is calculated by comparing the coefficients A and B of A+Bx with A=y-Bx B=n≧vine poison--Kyoyuki Teragata, and calculating that support=sheep and a=climb.
以下、x,yのデータが既にn回入力されて、その結果
レジスタM,〜M6にはn,Zx,2〆,2y,Zy2
,2柵の演算結果データとして、第4図に示すように夫
々数値n,d,e,f,g,hが既に記憶されている状
態となっており、新たにn十1回目のx,yのデータと
してa,bが入力された時の動作について述べる。Below, data of x and y has already been input n times, and as a result, n, Zx, 2〆, 2y, Zy2 are stored in registers M, ~M6.
, 2, the numerical values n, d, e, f, g, and h have already been stored as the calculation result data for the two fences, respectively, as shown in FIG. The operation when a and b are input as y data will be described.
データa,bは第4図に示すように国匿皿匡『と操作す
ることによりxデー夕であるaがレジスタCに記憶され
、yデータであるbがレジスタ0に記憶された後にZn
,Zx,Z〆,Zy,Z〆,2奴を求める処理が開始さ
れるものである。As shown in Figure 4, data a and b are stored in the Kokuan plate box.By operating the x data, a is stored in the register C, and the y data, b, is stored in the register 0.
, Zx, Z〆, Zy, Z〆, the process to obtain 2 members is started.
第5図はその処理フローを示したもので、まずステップ
S,はしジスタAの最上位桁、つまり、行アドレス「0
↓列アドレス「15」で指定される桁A,5にチェック
動作用フラッグ「1」をセットするもので、ROMIか
らの出力Coから数値コード「1」が出力されると共に
タイミングデコーダ6からの制御信号CIが“1”とな
り、前記数値コード「1」がゲート回路○6、演算回路
1 5を介してRAM3の前記A,5に書き込まれるも
のである。次の処理S2ではnの演算、つまりデータ入
力回数の演算がなされるもので、この演算のフローチャ
ートを第6図aに示す。第6図aのステップS科ま前回
までのn記憶用レジスタM,の内容nを表示レジスタA
に転送するもので、タイミング信号t,の出力時にRA
M3から読み出されたレジスタM,の内容nがゲート回
路○,2を介してラッチ回路22に記憶され、さらにタ
イミング信号t3の出力時にゲートが開かれるゲート回
路8、演算回路15を介してRAM3のレジスタAに書
き込まれる。そして、ステップS2bではしジスタBの
最下桁BoにROMIの出力Coからの数値コード「1
」を前記ステップS,と同じように書き込み、さらに、
ステップS2cでA十Bの演算、つまりn+1の演算を
行ってレジスタAに書き込むものである。このステップ
S2cでは、まず、タイミング信号t,の出力時にレジ
スタBの列アドレス「0」つまり最下桁の内容をラツチ
回路22に記憶させ、タイミング信号t2の出力時にレ
ジスタAの最下桁、つまり列アドレス「0」の内容をラ
ツチ回路23に記憶させて夫々の記憶値をタイミング信
号t3の出力時にゲートが開かれるゲート回路G7,G
8を介して演算回路1 5に入力させて演算を行ないそ
の演算結果をレジスタAの最下桁に書き込み、次いで、
レジスタA,Bの列アドレス「1」し汎降の内容を同様
にして演算回路15に送り、その演算結果をレジスタA
に書き込むことによってなされるものであり、この場合
のレジスタA,B,C,Dの格納状態を第7図aに示す
。なお、上記ステップS2c及び後述する演算のステッ
プでは常にオーバーフローの有無を検出するもので、こ
れらの演算のステップにおいてオーバーフローが発生し
た場合即ちアンド回路20から出力があった場合には直
ちに処理ステップを終了させ以前入力されている各レジ
スタの内容を保護するものである。第5図ステップS3
はしジスタAの最上位桁A,3に「1」が有るか否、即
ち、チェック動作中なのか演算動作中なのかを検出する
もので、演算回路15にA,5の内容及びCoからの数
値コード「1」を送ると共にタイミングデコーダ6より
信号SBを出力して減算を行なわせ、その演算結果が「
0」であった場合にはA,5の内容が「1」に等しいと
判断して、ROMIの出力Naから与えられる次のステ
ップに進むものである。しかして、演算結果が「0」で
ない場合には判断信号Juでゲートが開かれるアンド回
路18,19から出力信号が得られ、アドレス変換回路
14で前記Naと加算されて他のステップに進むもので
ある。この時点では、ステップS,でA,5に「1」が
書き込まれたのでステップS4に進む。なお、データの
転送、演算、判断等は上託した如き動作で行なわれるも
のである。それ故、以後のステップではこれらの詳細な
説明を省略する。しかして、処理S4は2xを演算する
ものであり、この処理S4は第6図bに示すように、ま
ず、ステップS4aでレジスタCに記憶されているxデ
ータaをレジスタAに転送し、ステップS4bでレジス
タ地に記憶されている前回までのZ【xのデータdをレ
ジスタBに転送する。FIG. 5 shows the processing flow. First, in step S, the most significant digit of register A, that is, the row address "0".
↓It sets check operation flag “1” in digits A and 5 specified by column address “15”, and the numerical code “1” is output from output Co from ROMI and control from timing decoder 6. The signal CI becomes "1" and the numerical code "1" is written into the A and 5 of the RAM 3 via the gate circuit 6 and the arithmetic circuit 15. In the next step S2, n is calculated, that is, the number of data inputs is calculated, and a flowchart of this calculation is shown in FIG. 6a. In Step S of Fig. 6a, display the contents n of the n memory register M up to the previous time in the register A.
RA when the timing signal t is output.
The contents n of the register M, read from M3 are stored in the latch circuit 22 via the gate circuit ○, 2, and are further stored in the RAM 3 via the gate circuit 8 whose gate is opened when the timing signal t3 is output, and the arithmetic circuit 15. is written to register A of Then, in step S2b, the numerical code "1" from the output Co of ROMI is input to the lowest digit Bo of the register B.
” in the same manner as in step S, and further,
In step S2c, an operation of A+B, that is, an operation of n+1, is performed and written to the register A. In this step S2c, first, when the timing signal t is output, the column address "0", that is, the contents of the lowest digit, of the register B is stored in the latch circuit 22, and when the timing signal t2 is output, the contents of the column address "0", that is, the lowest digit, of the register A, that is, the contents of the lowest digit, are stored in the latch circuit 22. The contents of the column address "0" are stored in the latch circuit 23, and the respective stored values are stored in gate circuits G7 and G whose gates are opened when the timing signal t3 is output.
8 to the arithmetic circuit 15 to perform arithmetic operations, and write the result of the arithmetic operation to the lowest digit of register A. Then,
The column addresses of registers A and B are set to "1" and the general contents are sent to the arithmetic circuit 15 in the same way, and the result of the arithmetic operation is sent to register A.
The storage state of registers A, B, C, and D in this case is shown in FIG. 7a. Note that the above step S2c and the calculation steps described later always detect the presence or absence of an overflow, and if an overflow occurs in these calculation steps, that is, if there is an output from the AND circuit 20, the processing step is immediately terminated. This protects the contents of each register that have been previously input. Figure 5 Step S3
This is to detect whether "1" is present in the most significant digit A, 3 of the register A, that is, whether the check operation is in progress or the calculation operation is in progress. At the same time as sending the numerical code "1", the timing decoder 6 outputs the signal SB to perform subtraction, and the calculation result is "
If it is "0", it is determined that the contents of A,5 are equal to "1" and the process proceeds to the next step given from the output Na of ROMI. If the calculation result is not "0", an output signal is obtained from the AND circuits 18 and 19 whose gates are opened by the judgment signal Ju, and is added to the aforementioned Na in the address conversion circuit 14, and the process proceeds to another step. . At this point, since "1" has been written in A,5 in step S, the process advances to step S4. It should be noted that data transfer, calculation, judgment, etc. are performed by operations that are delegated. Therefore, detailed explanations of these steps will be omitted in subsequent steps. Therefore, the process S4 is to calculate 2x, and as shown in FIG. 6b, the process S4 first transfers the x data a stored in the register C in step S4a to the register A. In S4b, data d of Z[x up to the previous time stored in the register location is transferred to register B.
そして、ステップS4cでd+aの演算を行ってレジス
タAに書き込むものである。なお、この処理中ステップ
S4cでオーバーフローが検出されれば処理は終了する
がこのステップS4cでオーバーフローが検出されない
ときの各レジスタA,B,C,0の格納状態は第7図b
に示す如くである。ステップS5はステップS3と同様
にA,5に「1」が有るか否かを検出するものである。
次の処理S6は2×2の演算を行うもので、第6図cに
示すように、ステップS謙でレジスタCに記憶されてい
るxデータaをレジスタAに送り、ステップS6bでデ
ータaを自乗して、その演算結果a2をレジスタAに書
き込み、さらに、ステップS6cでレジスタM3に記憶
されている前回までのZだのデータeをレジスタBに転
送し、最後にステップS6dでレジスタA及びBに記憶
されている内容の加算、即ちe十a2の演算を行ってレ
ジス夕Aに書き込むものである。なお、この処理中にス
テップS6b及びS4でオーバーフローが検出されれば
処理は終了するが、この各ステップS6b及びS6dで
オーバーフローが検出されないときの各レジスタ格納状
態は第7図cに示す如くである。次にステップS7では
上記ステップS3及びS5同様A,5が「1」であるか
否かを検出するがこの場合A,5が「1」であるので処
理S8に進む。Then, in step S4c, d+a is calculated and written to register A. Note that if an overflow is detected in step S4c during this process, the process ends; however, when no overflow is detected in step S4c, the storage state of each register A, B, C, 0 is shown in FIG. 7b.
As shown. Step S5 is to detect whether "1" is present in A and 5, similarly to step S3.
The next process S6 is to perform a 2×2 operation, and as shown in FIG. The calculation result a2 is multiplied by the square, and the calculation result a2 is written in register A. Furthermore, in step S6c, the previous Z data e stored in register M3 is transferred to register B, and finally, in step S6d, registers A and B are The addition of the contents stored in , that is, the calculation of e1a2 is performed and written to register A. If an overflow is detected in steps S6b and S4 during this process, the process ends, but when no overflow is detected in each step S6b and S6d, the storage state of each register is as shown in FIG. 7c. . Next, in step S7, as in steps S3 and S5 above, it is detected whether or not A and 5 are "1", but in this case, since A and 5 are "1", the process advances to step S8.
この処理S8はZyの演算を行うもので、第6図dに示
すように、ステップS8aでレジス夕Dに記憶されてい
るyデータbをレジスタAに転送し、ステップS8bで
レジスタM4に記憶されている前回までの2yのデータ
fをレジスタBに転送し、その次のステップS8cでレ
ジスタA及びBの記憶内容の加算則ちf+bの演算を行
って、その演算結果をレジスタAに書き込むものである
。この処理中も上記各処理同機ステップS8cに於てオ
ーバーフローの検出が行なわれるが、オーバーフローが
ない場合の各レジスタA,B,C,Dの格納状態は第7
図dに示す如くである。ステップS9では上記ステップ
S3,5 ,7 同様A,5が「1」であるか否かが検
出されるが、今はA,5=1であるのでYESと判定さ
れ、次に処理S,oに進み、この処理S,oに於てZ〆
の演算が行なわれる。This process S8 is to calculate Zy, and as shown in FIG. 6d, in step S8a, y data b stored in register D is transferred to register A, and in step S8b, it is stored in register M4. The data f of 2y up to the previous time is transferred to register B, and in the next step S8c, the contents of registers A and B are added, ie, an operation of f+b is performed, and the result of the operation is written to register A. be. During this process as well, overflow detection is performed in step S8c of each processing machine, but when there is no overflow, the storage state of each register A, B, C, and D is the seventh
As shown in Figure d. In step S9, as in steps S3, 5, and 7 above, it is detected whether A,5 is "1" or not, but since A,5=1 now, it is determined as YES, and then processing S,o In this process S, o, the calculation of Z〆 is performed.
この処理S,oは第6図eに示すように、ステップS,
oaでレジスタ○の内容をレジスタAに転送し、ステッ
プS,obではしジスタAに記憶されたyのデータbを
自乗してレジスタAに書き込み、ステップS,ocでは
しジスタM5に記憶されている前記までの2〆のデータ
gをレジスタBに転送して、最後にステップS,odで
レジスタA及びBの記憶内容の加算、、即ちg十b2を
実行してレジスタAに書き込みZ〆の演算を行うもので
ある。この処理中に於ても上記処理同様ステップS,o
b及びS,odではオーバーフローの有無が検出される
がオーバーフローがない時の各レジスタの格納状態は第
7図eに示す如くである。次いで、ステップS,.では
上記ステップS3,5 ,9 同様A,5が「1」であ
るか否かを判断し、今はA,3=1であることにより次
に処理S,2に進む。This process S,o is as shown in FIG. 6e, steps S,
At oa, the contents of register ○ are transferred to register A. At step S, ob, the data b of y stored in register A is squared and written to register A. At step S, oc, the contents of y are stored in register M5. Transfer the data g of the previous 2〆 to register B, and finally, in step S, od, add the stored contents of registers A and B, that is, execute g + b2 and write to register A. It performs calculations. During this process, steps S and o are similar to the above process.
The presence or absence of overflow is detected in b, S, and od, and the storage state of each register when there is no overflow is as shown in FIG. 7e. Next, step S, . Then, as in steps S3, 5 and 9 above, it is determined whether A,5 is "1" or not, and since A,3=1 now, the process proceeds to step S,2.
この処理S,2は第6図fに示すように、ステップS,
2a,S,2b,S,2cによりxデー夕aとyデータ
bとの頚a・bを求め、その結果をレジスタAに書き込
み、ステップS,2d及びS,2eで前回までのZ×y
のデータhにa,bを加算する演算を行ってレジスタA
に書き込み2xyを求める。なおステップS,2c及び
S,夕ではオーバーフローの有無が検出されるが第7図
fはオーバーフローがないときの各レジスタの格納状態
を示したものである。このようにして、ステップS,2
が終了するとステップS,3において上記ステップS3
,5 ,7 ,9.,.同様A,5が「1」であるか否
かが判断される。しかして、この時点ではA.5が「1
」であるのでステップS,4に進み、このステップS,
4ではA,5をそれまでの値「1」に変えて「0」にす
る。即ち、第5図に示す各処理は、A,5=1である場
合には演算結果を各レジス夕M,,M2・・・M6に書
き込まず、オーバーフローが発生するか否かを検出する
チェック動作であり、ステップS.4に至ったというこ
とは、この一連の演算中にオーバーフローは発生しない
ということが判定されたものであり「次に実際に各レジ
スタM,,M2・・・M6に演算結果を書き込みながら
実行する演算動作に入る。従ってこのステップS,4を
終了すると次に前述した処理S2に戻って再びnの演算
が行なわれる。その結果レジスタA,B,C,Dには前
回と同様に第7図aに示されるデータが格納される。そ
してステップS3ではA,5が「1」であるか否かが判
断されるがステップS,4によりA,5は「0」となっ
ているのでステップS.5に進む。このステップS,5
はしジスタAの内容、つまりステップS2で得られたn
のデータn+1をn記憶用レジスタM,に書き込むもの
である。そして、ステップS,5が終了すると処理S4
に進みZxの演算が行なわれて第7図bに示すようにレ
ジスタAに2×の演算結果d十aが記憶された状態とな
り、ステップミに進んでA,5が「1」でないことが検
出され、ステップS,6で演算結果d+aが2×記憶用
レジスタ地に書き込まれる。以後ステップS6,S8,
S,o,S,2でレジスタAに格納されたZx2,2y
,2〆,2xyの演算結果は、夫々ステップS,7,S
,8,S,9,S幻でレジスタM3,M4,M5,M6
に書き込まれて処理フローが終了するもので第8図は処
理フローが終了した際のレジスタM,,M2,地,M4
,鳩,M6のレジスタ格納状態を示すものである。この
ように、上述した実施例では、n、2×,Zで, 2y
,2y2,2x〆等の演算結果を直ちに夫夫の演算結果
記憶用レジスタM,,M2,M3,M4,舷,M6に書
き込むことをせずに、まず、各演算を行なってオーバー
フローが発生しないことを確認してから、再び演算を行
って、その演算結果を各記憶用レジスタに記憶させるよ
うにしているので、演算途中でオーバーフローが発生し
た場合には、各記憶レジスタの内容は前回のデータのま
まに保持され、誤ったデータが記憶されることが防止で
きる。This process S,2 is as shown in FIG.
2a, S, 2b, S, 2c to find the neck a and b of x data a and y data b, write the result to register A, and in steps S, 2d and S, 2e, calculate Z×y up to the previous time.
Performs an operation to add a and b to data h of register A.
Write in to find 2xy. Although the presence or absence of overflow is detected in steps S, 2c, S, and S, FIG. 7f shows the storage state of each register when there is no overflow. In this way, step S,2
When the process is completed, in step S, 3, the above step S3 is performed.
, 5 , 7 , 9. 、. Similarly, it is determined whether A and 5 are "1". However, at this point A. 5 becomes “1”
”, so proceed to step S, 4, and this step S,
In step 4, change A,5 to its previous value "1" and set it to "0". That is, in each process shown in FIG. 5, when A,5=1, the calculation result is not written to each register M,, M2...M6, and a check is performed to detect whether an overflow occurs. operation, step S. 4 means that it has been determined that no overflow will occur during this series of calculations, and "Next, execute the calculation while actually writing the calculation results to each register M, M2...M6. The arithmetic operation begins. Therefore, when steps S and 4 are completed, the process returns to the above-mentioned process S2 and the arithmetic operation of n is performed again.As a result, the registers A, B, C, and D are filled with the values shown in FIG. 7 as before. The data shown in a is stored.In step S3, it is determined whether A, 5 is "1" or not, but since A, 5 is "0" in step S, 4, step S .. Proceed to step 5. This step S, 5
The contents of register A, that is, n obtained in step S2
data n+1 is written into the n storage register M. Then, when steps S and 5 are completed, process S4
The process advances to step M, where Zx is calculated and the result of the 2x calculation d0a is stored in register A, as shown in FIG. Then, in steps S and 6, the calculation result d+a is written into the 2× storage register location. Thereafter, steps S6, S8,
Zx2,2y stored in register A with S,o,S,2
, 2〆, 2xy are processed in steps S, 7, and S, respectively.
,8,S,9,S registers M3, M4, M5, M6 with illusion
The processing flow ends when the processing flow is completed. Figure 8 shows the registers M, , M2, M4, and M4 when the processing flow ends.
, pigeon, M6 register storage state. Thus, in the embodiment described above, with n, 2×, Z, 2y
, 2y2, 2x〆, etc., without immediately writing them into the husband's calculation result storage registers M, , M2, M3, M4, M6, and M6, first perform each calculation so that overflow does not occur. After confirming that the calculation is correct, the calculation is performed again and the calculation result is stored in each storage register, so if an overflow occurs during the calculation, the contents of each storage register will be the same as the previous data. This prevents incorrect data from being stored.
なお、上記実施例では、オーバーフローが発生した場合
について述べたが、本発明はオーバーフローだけでなく
、アンダーフローあるいは演算不可等、何らかのエラー
が発生するすべてについて応用できるものである。In the above embodiment, the case where an overflow occurs has been described, but the present invention can be applied not only to an overflow, but also to any case where some kind of error occurs, such as an underflow or an inoperable operation.
また、その演算も直線回帰計算だけでなく、例えば対数
、指数、べき数等の回帰計算にも応用でき、更に通常の
演算等においても、広く一般に薄用できるものである。Furthermore, the calculation can be applied not only to linear regression calculations, but also to regression calculations such as logarithms, exponents, exponents, etc., and can be widely and generally used in ordinary calculations.
以上詳細に説明した如く本発明による謀演算防止方式は
、演算結果をそれを書き込むべき各レジスタに記憶させ
るに先立って、一連の演算によってエラーが発生するか
否かを検出し、エラーが発生しないことを確認してから
各レジスタに所定の演算結果を記憶させる様にしたこと
により、たとえエラーが発生したとしても、それ以前に
演算された結果は確実に保持され、演算処理が正確に行
なえると共に、謀まって入力したデータのみを訂正して
再び前の演算に続けて演算することが出来、処理時間も
短くできる等種々の利点を有する。As explained in detail above, the method for preventing malicious operations according to the present invention detects whether or not an error occurs in a series of operations before storing the operation result in each register where it is to be written, and prevents the error from occurring. By confirming that the predetermined calculation result is stored in each register, even if an error occurs, the previously calculated result will be retained and the calculation process can be performed accurately. In addition, it has various advantages, such as being able to correct only the data inputted inadvertently and performing the calculation again following the previous calculation, and shortening the processing time.
第1図は本発明の一実施例を示す小型電子式計算機のブ
ロック図、第2図は第1図のタイミング信号発生回路か
ら出力されるクロックパルス及びタイミング信号のタイ
ムチャート、第3図は第1図におけるRAMのレジスタ
構成図、第4図は上記RAMのレジスタ格納状態を示す
図、第5図及び第6図a〜fは本発明の実施例による謀
演算防止動作を示すフローチャート、第7図a〜fはし
ジスタA,8,C,Dの格納、壮巴態を示す図、第8図
はしジスタM,,地,M3,地,M5,M6の格納状態
図である。
1・・・・.・ROM(リード・オンリ・メモリ)、3
・・・…RAM(ランダム・アクセス・メモリ)、5・
・・・・・タイミング信号発生回路、6・・・・・・タ
イミングデコーダ、15・…・・演算回路、25・・・
・・・表示部、26……キー入力部、Xo……xデータ
入力用キー、Yo…yデータ入力用キー。
第2図
図
船
第3図
第4図
第5図
第6図
第7図
第8図FIG. 1 is a block diagram of a small electronic calculator showing an embodiment of the present invention, FIG. 2 is a time chart of clock pulses and timing signals output from the timing signal generation circuit of FIG. 1, and FIG. FIG. 4 is a diagram showing the register storage state of the RAM in FIG. 1, FIG. 5 and FIGS. Figures a to f are diagrams illustrating the storage state of the registers A, 8, C, and D, and FIG. 8 is a diagram showing the storage state of the registers M, M3, M5, and M6. 1...・ROM (read only memory), 3
...RAM (random access memory), 5.
...Timing signal generation circuit, 6...Timing decoder, 15...Arithmetic circuit, 25...
...display section, 26...key input section, Xo...x data input key, Yo...y data input key. Figure 2 Ship Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8
Claims (1)
実行し、その結果を所定の記憶手段に記憶させる如くな
した小型電子式計算機に於て、入力されたデータに基づ
く演算により得られた結果を上記所定の記憶手段に記憶
させることなく実行させる制御手段と、この制御手段に
より制御されて実行した演算によつてエラーが発生した
か否かを検出するエラー検出手段とを具備し、このエラ
ー検出手段によりエラーが検出されなかつた際、再度上
記入力データに基づく演算を実行し、その演算結果を上
記所定の記憶手段に記憶させることを特徴とする誤演算
防止方式。1. Results obtained by calculations based on input data in a small electronic calculator that executes predetermined calculations based on input data and stores the results in a prescribed storage means. and an error detection means for detecting whether or not an error has occurred as a result of the calculation executed under the control of the control means. A method for preventing erroneous calculations, characterized in that when no error is detected by the detection means, the calculation based on the input data is executed again, and the calculation result is stored in the predetermined storage means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP52133887A JPS6029130B2 (en) | 1977-11-08 | 1977-11-08 | Miscalculation prevention method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP52133887A JPS6029130B2 (en) | 1977-11-08 | 1977-11-08 | Miscalculation prevention method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5466734A JPS5466734A (en) | 1979-05-29 |
JPS6029130B2 true JPS6029130B2 (en) | 1985-07-09 |
Family
ID=15115407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52133887A Expired JPS6029130B2 (en) | 1977-11-08 | 1977-11-08 | Miscalculation prevention method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6029130B2 (en) |
-
1977
- 1977-11-08 JP JP52133887A patent/JPS6029130B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5466734A (en) | 1979-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3940745A (en) | Data processing unit having a plurality of hardware circuits for processing data at different priority levels | |
US4185323A (en) | Dynamic memory system which includes apparatus for performing refresh operations in parallel with normal memory operations | |
US3304418A (en) | Binary-coded decimal adder with radix correction | |
US3161763A (en) | Electronic digital computer with word field selection | |
GB2113434A (en) | Data processing apparatus having alterable interest rate mode capability | |
US3597600A (en) | Electronic desk top calculator having a dual function keyboard logic means | |
GB1560130A (en) | Electronic timekeeping system | |
JPS6029130B2 (en) | Miscalculation prevention method | |
US5388253A (en) | Processing system having device for testing the correct execution of instructions | |
US3693153A (en) | Parity check apparatus and method for minicomputers | |
US3500027A (en) | Computer having sum of products instruction capability | |
US3622768A (en) | Dual key depression for decimal position selection | |
JPS6044692B2 (en) | Data input method | |
JPS594056B2 (en) | Key input control method | |
JPS6032227B2 (en) | Constant storage control method | |
JPS5882296A (en) | Dot matrix display system | |
SU679986A1 (en) | Electronic keyboard computor | |
JPS6035699B2 (en) | Bracket level number display method | |
JPS617884A (en) | Data processor | |
JPS59183434A (en) | Prefetch control system of instruction | |
JPS6032228B2 (en) | Clear control method for small electronic calculators | |
JPS5922587Y2 (en) | random number generator | |
JPS6113623B2 (en) | ||
JPS6032229B2 (en) | Clear control method for small electronic calculators | |
SU1312573A1 (en) | Device for generating addresses of commands and data |