JPS61123930A - 可変長デ−タ演算のオ−バフロ−検出方式 - Google Patents

可変長デ−タ演算のオ−バフロ−検出方式

Info

Publication number
JPS61123930A
JPS61123930A JP59243801A JP24380184A JPS61123930A JP S61123930 A JPS61123930 A JP S61123930A JP 59243801 A JP59243801 A JP 59243801A JP 24380184 A JP24380184 A JP 24380184A JP S61123930 A JPS61123930 A JP S61123930A
Authority
JP
Japan
Prior art keywords
register
overflow
arithmetic
signal
operand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP59243801A
Other languages
English (en)
Other versions
JPH0352092B2 (ja
Inventor
Hisashi Ibe
井辺 寿
Kimitoshi Hamada
浜田 王才
Yasuhiko Ibuki
伊吹 靖彦
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 JP59243801A priority Critical patent/JPS61123930A/ja
Publication of JPS61123930A publication Critical patent/JPS61123930A/ja
Publication of JPH0352092B2 publication Critical patent/JPH0352092B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3816Accepting numbers of variable word length

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は10進加算演算サイクルで発生するオーバフロ
ーの検出方式の改良に関するものである。
演算の結果オーバフローが発生すると単に演算エラーに
止まらないでその演算に関連するデータ領域が破壊され
、更に他メモリ領域にまで損傷を及ぼす等重大な問題を
引き起こすことがある。
これを防止するために、オーバフローの発生した時は直
ちにこれを検出しアラーム等通当な処置をする必要があ
る。このため演算途中に度々チェックしてオーバフロー
を速やかに検出している。
しかし、これは演算速度との関連があり、適切な方式で
オーバフローの検出を行う必要がある。
〔従来の技術〕
一般に、2オペランド演算では演算命令によってメモリ
からオペランド1とオペランド2のデータが演算レジス
タにセットされ演算器によって加算された後、その演算
結果が再び演算レジスタを経てオペランドlのアドレス
に格納される。
可変長データの演算の場合には、演算結果の桁数がオペ
ランド1より大であればメモリにセットすることができ
ないので、オーバフローとして別の処理、例えばエラー
として処理される。
もしこのオーバフローが正しく検出されないとオペラン
ド1より長いデータをオペランド1と同じ先頭アドレス
から書き込むことになり、オペランド1の次のアドレス
にあるデータを破壊することになるからである。
具体的に可変長データのオーバフローの条件を説明する
。例えば4ハイド幅の加算器を用いた場合を考える。第
5図(a+のようにオペランド1の有効桁数Ll、オペ
ランド2の有効桁数L2とし、L1≧L2の場合、演算
の結果オペランド1の有効桁数L1の最上桁から桁上げ
があれば、オーバフローとなる。一方、第5図山)のよ
うに、LL<L2の場合、演算の結果、L2の最上桁か
らの桁上げのほかに、オペランド1の有効桁数L1から
の桁上げによってもオーバフローにする必要がある。
以下、第3図のブロック図を用いて従来の10進加算演
算におけるオーバフロー検出方式を説明する。構成、動
作の説明を理解し易くするために、8バイト以下のデー
タが4ハイド幅のIO進演算器で加算演算されるものと
する。
まず各部の動作を説明する。
1はオペランド1のデータの内、上位4バイトが、また
、2はその下位4バイトがセットされる演算レジスタで
ある。同様に3.4はオペランド2に関するそれぞれ上
位および下位の演算レジスタである。5は4バイトのl
O進加算器で、上位と下位バイトに分けてそれぞれ加算
する。6はキャリ検出器で、演算結果の4バイトの最上
位桁からの桁上げが検出されれば、ビット0の信号CR
YOを“1”とする0次の桁、即ち、第2桁目から最上
位桁への桁上げが検出されればとッ)1の信号CRY1
が、以下第3桁目から第2桁目へはビット2の信号CR
Y2が、第4桁目から第3桁目へはビット3の信号CR
Y3が“l”となる、8はオペランド長レジスタで、オ
ペランド1の有効桁数を示す4ビツトレジスタである。
この下2桁はオペランド1を4桁づつ区切った時の最上
位の有効桁の4桁中の位置を示す。即ち、図示する4桁
の最上位の桁をバイト0とし、以下の桁をバイト1、バ
イト2、バイト3、とすると、”**00”はバイト3
に最上位桁があり、“**01”はバイト2に、“**
10”はバイト1に、“**11″はバイトOに最上位
桁があることを示す(*印は1,0のいずれでもよいこ
とを示す)、7はキャリ生成回路で、次の論理式で表現
される機能ををする回路である。
CRYLI =CRYO・Ll (11) + CRY
I・LL (10)+ CRY2 ・Ll (01) 
+ CRY3 ・Ll (00)、、、、、、、、 (
式1) 但し、CRYLIはキャリ生成回路の出力信号でこの値
は右辺の論理式の値によって“l”か“O”である。C
RYO〜3はキャリ検出器6の各桁の桁上げビットの論
理記号である。即ち、式1の論理式が成立すればキャリ
生成回路7は信号“1”を発生する。
Ll (XX)はオペランド長レジスタ8の下位2桁の
値を示す。例えば、Ll (10)はオペランド長レジ
スタ8のビット2の値はlで、ビット3の値は0、即ち
、上記の表現で“**10”であることを示す、9はデ
コーダで、オペランド長レジスタ8の下2桁の内容を上
記4つの場合にデコードしてキャリ生成回路7に与える
。 10はオーバフロービットレジスタで、オーバフロ
ーが検出された時このレジスタの出力信号は“1”とな
る。
次に、第4図のフローチャートに基づいて説明する。
ステップl 演算命令によってメモリからオペランド1の上位4バイ
トは演算レジスタ1に、下位4バイトは演算レジスタ2
にセントされる。
ステップ2 ステップ1と同様に、オペランド2の上位4ハイドは演
算レジスタ3に、下位4バイトは演算レジスタ4にセッ
トされる。オペランドlのデータの有効桁数はオペラン
ド長レジスタ8にセットされている。
ステップ3 10進加算器5は演算レジスタ2と演算レジスタ4から
データを読み込み加算演算する。その演算結果を演算レ
ジスタ2にセントする。キャリ生成回路7が、キャリ検
出器6とオペランド長レジスタ8からデコーダ9を介し
て送られたデータとに基づき、前記式1の論理値によっ
て信号を発生する。更に、この信号とマイクロ命令等よ
り与えられる演算種別信号^RITHOP  (加算命
令の時に ARITHOP = 1 ”)と次の論理式
によってオーバフロービットレジスタ10に信号をセッ
トする。
DOVFL =CRYL1 ・ARITHOP 、、、
、、、、、、、 (式2)但し、DOVFLはオーバフ
ロービットレジスタ10の内容の信号名である。
ステップ4 マイクロプログラムがL1≧4を判断する。即ちオペラ
ンドlの有効桁数が4桁か、それより大きいかを判断す
る。
ステップ5 上位4バイトの演算を行う、上記説明と同様なIO道加
算演算とオーバフロー検出手順を経て、オーバフローが
あればオーバフロービットレジスタ10に信号をセット
する。その場合は下位バイトの演算結果に基づくオーバ
フロー検出結果に上書きしてオーバフロービットレジス
ターlOに信号をセットする。
オペランドIの有効桁数が4桁より小さい場合でオーバ
フローが検出されると、ステップ5を介さないでオーバ
フロービットレジスタ10に信号をセットする。
ステップ6 オーバフロービットレジスタ10の信号をマイクロプロ
グラムが判定してオーバフローとする。
〔発明が解決しようとする問題点〕
従来の加算演算におけるオーバフローの検出は加算過程
において第4図のフローチャートが示すように下位演算
を行なった後、Ll≧4バイトの判断サイクルが入る。
この為、L1≧4であった場合は6ステツ、プ、L1≧
4でなかった場合でも5ステツプの処理が必要である。
また一般に、判断処理には分岐命令が使用され、分岐を
行うためには余分な時間を要するという問題がある。
この判断サイクルを経ないで上位バイト演算を無条件に
行うとすると、この上位バイト演算の結果によって下位
バイト演算の結果によるオーバフロービットレジスタ1
0の信号は更新されてしまい、Ll≧4でなかった場合
に正しくオーバフローが検出できないことになる。
従来のオーバフロー検出方式はこのように演算サイクル
の途中に判断サイクルが入るために余分の処理時間がか
かり、演算時間の損失を招いている点が問題であった。
〔問題点を解決するための手段〕
本発明は上記問題点を解決するために、下位演算によっ
てオーバフローが発生していた場合には、オーバフロー
ビットを上位演算結果によって更新しないように抑制し
、上位4バイトの演算でオーバフローが発生した場合は
オーバフロー信号をこの演算結果で更新する機能をもつ
オーバフロービット生成回路11を設けた。これはマイ
クロプログラムの進行とは別に機能する。
〔作用〕
オーバフロー生成回路11を設けることにより、上位演
算によって下位演算で発生したオーバフロービットは更
新されることがなく、また、上位バイトの演算でオーバ
フローが成立する条件もここで判断されるため、マイク
ロプログラムは判断過程を省略して、演算サイクルのみ
を続けることになる。即ち、演算速度はそれだけ速くな
る。
〔実施例〕
以下、図面を参照して本発明の詳細な説明する。第1図
は本発明の一実施例のプロ・ツク図で第2図はそのフロ
ーチャートである。従来の技術の項の説明と関連させて
構成と動作の説明を理解し易くするために、8バイト以
下のデータを4バイトの10進加算器で加算演算するも
のとする。
本実施例では10進加算演算システムにおけるキャリ生
成回路7とオーバフロービットレジスタ10の間にオー
バフロービット生成回路11を設け、オーバフロービッ
ト生成回路11はキャリ生成回路7とオペランド長レジ
スタ8とマイクロ命令からの信号に基づき、オーバフロ
ービットレジスタ10の信号をセントする。即ち、オー
バフロービットレジスタ10の信号DOVFLの論理式
を本発明では下位4バイトの演算では(式1)、(式2
)をそのまま使用してオーバフロービットレジスタIO
に信号をセットするが、第2図のステップ4で上位4バ
イトの演算が行われる一方でオーバフロービット生成回
路11は次の論理式(式3)を用いてオーバフロービッ
トレジスタ10の信号をチェックしてオーバフローの検
出の有無によって、信号を更新する。
DOVFL = (Ll (1)  ・CRYLI+ 
 Ll  (1)   ・ DOVFL  )  AR
ITHOP  、、  (式3)但し、Ll(1)はオ
ペランド長レジスタ8のビットlの論理値である。
第2図のフローチャートに示すように、下位バイト演算
の後、上位バイト演算を継続して行えばよく、プログラ
ム上は判断ステップを省略することができる。
以上の説明は8バイト以下のデータを4バイトのlO進
加算器で加算演算を行った例を示したものであるが、演
算の種類やそれに関連する各部のバイト数、あるいは、
ビット数を相当する桁数に変更することによって、説明
実施例以外のシステムに応用することができる。
〔発明の効果〕
以上説明したように、本発明によれば、lO進加算演算
におけるマイクロプログラムが演算フローの中で判断サ
イクルを挿入することなく演算サイクルを継続すること
ができるようになり、演算速度を速くすることができる
また、削減されたマイクロプログラムはデータ処理装置
の別の用途に転用され、機能の拡大につながることにな
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図。 第2図は本発明のフローチャート。 第3図は従来例のブロック図。 第4WJは従来例のフローチャート。 第5図はオーバフロー条件の説明図。 図中、1はオペランド1の上位バイト演算レジスタ、2
はオペランド1の下位バイト演算レジスタ、3はオペラ
ンド2の上位バイト演算レジスタ、4はオペランド2の
下位バイト演算レジスタ、5は10進加算器、6はキャ
リー検出器、7はキャリー生成回路、8はオペランド長
レジスタ、9はデコーダ、10はオーバフロービットレ
ジスタ、11はオーバフロービット生成回路。 ++− オへ一うン自錦チー7     λヘーラシド2Qテ゛
−7浄 1 [1 簿4図 λA’5ン)’(n7’−タ     イへ′ランド2
0テ′−7J131!] 乙l ≧ Lz キイリ (a) 茅 乙l 〈 乙2 キイリ (bン 5 目

Claims (1)

    【特許請求の範囲】
  1. 所定演算バイト幅の演算器を複数回用いて、該バイト幅
    より長い可変長データを演算するデータ処理装置におい
    て、該演算結果となるオペランドの長さがセットされる
    オペランド長レジスタの特定ビットと該演算において発
    生するキャリとによって各回の演算結果の桁上げ信号を
    生成するキャリ生成回路と、オーバフロービットレジス
    タと、前記オペランド長レジスタの他の特定ビットと前
    記オーバフロービットレジスタの内容と前記キャリ生成
    回路の出力とによって生成するビットを前記オーバフロ
    ービットレジスタにセットするオーバフロービット生成
    回路とを備えたことを特徴とする可変長データ演算のオ
    ーバフロー検出方式。
JP59243801A 1984-11-19 1984-11-19 可変長デ−タ演算のオ−バフロ−検出方式 Granted JPS61123930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59243801A JPS61123930A (ja) 1984-11-19 1984-11-19 可変長デ−タ演算のオ−バフロ−検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59243801A JPS61123930A (ja) 1984-11-19 1984-11-19 可変長デ−タ演算のオ−バフロ−検出方式

Publications (2)

Publication Number Publication Date
JPS61123930A true JPS61123930A (ja) 1986-06-11
JPH0352092B2 JPH0352092B2 (ja) 1991-08-08

Family

ID=17109143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59243801A Granted JPS61123930A (ja) 1984-11-19 1984-11-19 可変長デ−タ演算のオ−バフロ−検出方式

Country Status (1)

Country Link
JP (1) JPS61123930A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347827A (ja) * 1986-08-15 1988-02-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 妥当性応答発生装置
JPH0348332A (ja) * 1989-07-14 1991-03-01 Oki Electric Ind Co Ltd シフト回路
JPH04116717A (ja) * 1990-09-07 1992-04-17 Koufu Nippon Denki Kk オーバーフロー例外検出方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347827A (ja) * 1986-08-15 1988-02-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 妥当性応答発生装置
JPH0348332A (ja) * 1989-07-14 1991-03-01 Oki Electric Ind Co Ltd シフト回路
JPH04116717A (ja) * 1990-09-07 1992-04-17 Koufu Nippon Denki Kk オーバーフロー例外検出方式

Also Published As

Publication number Publication date
JPH0352092B2 (ja) 1991-08-08

Similar Documents

Publication Publication Date Title
KR100266337B1 (ko) 정보처리회로,반도체집적회로장치,마이크로컴퓨터,및전자기기
EP0540150B1 (en) Arithmetic logic unit
JP3248992B2 (ja) マルチプロセッサ
KR0167005B1 (ko) 중앙처리장치
JPH0542011B2 (ja)
US5684728A (en) Data processing system having a saturation arithmetic operation function
JPH0348537B2 (ja)
US5546551A (en) Method and circuitry for saving and restoring status information in a pipelined computer
JPS61123930A (ja) 可変長デ−タ演算のオ−バフロ−検出方式
JPH034936B2 (ja)
JPH0371329A (ja) 算術論理演算処理装置の演算制御回路
US9983872B2 (en) Conditional selection of data elements
US6691223B1 (en) Processing full exceptions using partial exceptions
JP2557629B2 (ja) 割込方式
JPS6049937B2 (ja) マイクロプログラム制御のデ−タ処理装置
JP3658879B2 (ja) パイプライン計算機
JP2591250B2 (ja) データ処理装置
JPS63150748A (ja) デ−タ処理装置
JPH04195629A (ja) 演算フラグ生成装置
JPS61275936A (ja) 条件決定装置
JPH0234058B2 (ja)
JPH05108542A (ja) データ処理装置
JPS61294582A (ja) 演算装置
JPS62109133A (ja) マイクロプログラム制御装置
JPS6366637A (ja) 情報処理装置