JPS6148036A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPS6148036A
JPS6148036A JP59169318A JP16931884A JPS6148036A JP S6148036 A JPS6148036 A JP S6148036A JP 59169318 A JP59169318 A JP 59169318A JP 16931884 A JP16931884 A JP 16931884A JP S6148036 A JPS6148036 A JP S6148036A
Authority
JP
Japan
Prior art keywords
overflow
result
car
byte
data
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
JP59169318A
Other languages
English (en)
Other versions
JPH0680487B2 (ja
Inventor
Tatsuya Sakai
達也 酒井
Suketaka Ishikawa
石川 佐孝
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59169318A priority Critical patent/JPH0680487B2/ja
Publication of JPS6148036A publication Critical patent/JPS6148036A/ja
Publication of JPH0680487B2 publication Critical patent/JPH0680487B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/494Adding; Subtracting
    • 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/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • 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/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分牙〕 本発明は演算処理装置に係り、詳しくは2個の可変長デ
ータについてN進演算を行い、得られた結果の有効デー
タ部分を可変長の格納領域へ出力する演算処理装置にお
いて、有効データ長が格納領域の長さよりも長いことを
検出するN進オーバーフロー検出手段に関する。以下、
一般的な10巡演算命令の場合について説明する。
〔発明の背景〕
10進演算命令は、2進化lO進形式で表わされた数の
可変長の第1オペランドと、同じく2進化10進形式で
表わされた可変長の第2オペランドの間で加算、減算、
乗算及び除算を行い、その結果が第1オペランド領域に
格納されるものである。命令形式は、演算の種類を指定
するオペレーションコード、第1及び第2オペランドの
開始アドレス並びに第1及び第2オペランドの長さを示
す値とからなる。例えば、lO進加算命令の処理は、第
2オペランドが第1オペランドへ加えられ。
その結果が第1オペランド領域に格納される。二とで終
了する。この時、第1オペランドの長さの値は1M果が
格納されるべき領域の長さをも表わしており、演算結果
が第1オペランドの領域に格納できず、有効な結果の一
部が消失することがある。
たとえば、第2オペランドの長さが第1オペラントより
も長い場合の加算結果には、データの消失が起こりうる
可能性がある。もっともオペランドの長さのみによって
有効なデータが消失しうるとは限らず、第2オペランド
長が比較的長くても。
その上位桁に0が連続しであるような場合には必ずしも
データが消失するとは限らない。
10進演算結果がオーバーフローを起こし、データが消
失する場合、プログラム的に割込みを発生するか否かは
1割込み制御マスクにより制御されるが、オーバーフロ
ーの検出方式についてはハードウェア回路に依存してい
る。
従来、演算結果がオーバーフローになったことを高速に
検出する方式として、特公昭57−46574号rオー
バーサイズデータ検出装置」がある。これは、演算結果
の全桁について一部ごとに有効データであるか否かのス
テータス信号を生成し1次いで第1オペランド領域長の
デコード信号により前記ステータス信号のうち結果格納
領域(第一1オペランド領域)の外に存在するステータ
ス信号だけを取り出してそのステータスを調べることに
より、高速にオーバーフロー検出を行えるように考慮さ
れたものである。
しかしながら、上記従来方式は、オーバーフロー検出の
ためだけに多大の専用ハードウェア回路を配置しなけれ
ばならないという欠点を有している。すなわち、同特許
公報第6図乃至第8図に示されているような、演算結果
の各バイトのステータス(オールOかオール1)を検出
するための回路、信号選択器及び非行先ステータス発生
器、さらに全バイトステータス発生器等を、オーバーフ
ロー検出のみに使用する専用のハードウェアとして用意
する必要がある。このように、オーバーフロー検出に特
定されるようなハードウェアの増加は、計算機のコスト
を引き上げ、さらにゲート斂増加による信頼性の低下を
まねく要因になるものである。
また、上記従来方式は1通常の10進演算命令で使用さ
れるパック形式の2進化10進データの他に、ゾーン形
式の2進化10進データや符号のついた可変長の純2進
数形式のデータについても。
オーバーフローを検出することができる機構となってい
るが、後者の2つのオーバーフロー検出は一般的な計算
機においては不必要な機構で、通常の10進演算オーバ
ーフロー検出には最適な方式%式% また、10進オーバーフローが検出された場合。
プログラム割込みは割込み制御マスクによって制御され
るが9割込みの発生は、演算結果の一部が消失さ九たデ
ータを第1オペランド領域へ格納された後でもよい。す
なわち、オーバーフローの起きた10進命令を完了した
時点でよい。そのため演算結果の格納動作と並行してオ
ーバーフローが検出できればよく、上記特公昭57−4
6574号に開示されているように、多大の専用ハード
ウェアを設けて演算結果とほぼ同時にオーバーフローを
検出する必要性はない。
〔発明の目的〕
本発明の目的は、演算オーバーフロー検出のために多大
の専用ハードウェアを設けることなく、オーバーフロー
検出手段の主要部を他の処理のためにも使用できるよう
にした高速なN進演算オーバーフロー検出手段を提供す
ることにある。
〔発明の概要〕
本発明の特徴は、N進演算により得られた結果を検索し
て有効データの最上位置を示す値を出力する回路と、こ
の有効データ最上位置指示値と結果格納領域の長さを示
す値により、N進演算結果内に含まれる有効データの大
きさが結果格納領域よりも大きい場合にオーバーフロー
が検出されたことを示す回路を有するところにある。
〔発明の実施例〕
以下1本発明の一実施例を図面により詳細に説明する。
第1図は本発明の一実施例の構成図で、16桁の10進
演算結果のオーバーフロー検出装置を示す、第1図にお
いて、2は8バイト(64ビツト)の2進加算器であり
、その各々の入力に入力補正器1a、lbを有し、出力
には出力補正器3を有して2進加減算および10進加減
算ができる一般的な2進710進併用加算器を構成し・
でいる。2追加算器2の最上位ビットからのキャリイは
、キャリイ・レジスタ(CAR)4へ入力され、その出
力は再び2進加算器2の最下位ビットへ与えられると共
にオーバーフロー決定回路13へも供給されている。出
力補正器3の出力は、2進/10進併用加算器2の演算
結果そのものでZバス5によって結果格納部(図には明
示していない)へ送られるとともに、オーバーフロー検
出論理部15のデジット・エンコーダ6へ供給される。
デジット・エンコーダ6の構成は第2図に示す如くであ
り、2バス5上の64ビツトの演算結果をオア回路20
0〜215でデジット(4ビツト)毎にオアして16個
の出力P5.〜P1.得、この出力P。
〜Pl、を一般的な16ビツト・プライオリティエンコ
ーダ30に与えて、エンコード結果E、 −E4を得る
ものである。第3図にエンコーダ30の論理動作を示す
デ、(ジット・エンコーダ6のエンコード結果は。
演算結果の有効行(ゼロでない値)の先頭位置がどこに
あるかを示しているため、いろいろな処理に使用さ九る
8例えば2進/10進併用加算器2が浮動小数点加算命
令で2進加算を行った場合。
その演算結、果の上位の不要なデジットゼロを除去し、
さらに除去したデジット相当の値を中間指数部から減算
するという正規化処理があるが、この時の演算結果の上
位の不要なデジットゼロを検出するときに上記エンコー
ダ6が使用される。また。
エンコード結果E r+〜E4が全て1であると演算結
果はオール0であることを示しているため、演算結果の
状態でセットするコンディションコードの条件として使
用されたり、演算結果がゼロであるか否かをテストしな
がら進むマイクロ命令のテスト条件にも使用される。こ
のようにエンコーダ6は、オーバーフロー検出論理部1
5内に存在はしているが、そのハードウェアは必ずしも
オーバーフロー検出にのみ使用されるのではない。
ディジット・エンコーダ6の出力E II〜EJのうち
、E、、〜E3は比較器9へ与えらJL 、 E aは
接続されない。すなわち、10進演算のオーバーフロー
検出には、第1オペランドの格納領域がバイト貼位で規
定されているため、バイト内のどちらのディジットかを
示すE4は比較器9には不要である。
比較器9はエンコーダ6の出力E II〜E1と第1オ
ペランドの格納領域長を示す値L1...L1、、Ll
7.Ll、を比較する回路である。LLl、〜L1.で
示される値は、10進命令の第1オペランド長として与
えられるもので、一般の10進命令においては、実際の
バイト数よりも1バイトだけ短い値である。例えばLL
、、LL、LL。
Ll、=OLO1であると、格納領域長は5+1=6バ
イトであることを示す。
第4図に比較器9の構成例を示す。第4図において、3
00〜307はアンド回路、310〜315はオア回路
、320〜322はインバータである。比較器9は第5
図(a)(L 1.1=1のとき)。
第5図(b)(LL、、=Oのとき)に示す演算でそれ
ぞれの先頭ビットからのキャリイC,,(LL、。
=1のとき)、 c+ (t、 1 、、 =Oのとき
)を求めて、Ll、、=1(7)とき、c、、=oでo
vo  とLL、=0のとき、C,=0でOVt をそれぞれ出力する。OVO,OVIは各条件のもとで
オーバーフローが発生していることを示している。
比較器9の出力to (OVO,0VI)はオーバーフ
ロー決定回路13へ入力される。オーバーフロー決定回
路13には、さらに第1オペランドの符号S1.第2オ
ペランドの符号52.10進加算命令であることを示す
信号Aが(10進減算命令のときはA=Oとなる)が入
力されている。
オーバーフロー決定回路13は、出力として10進演算
のオーバーフローが検出されたことを示す信号OVFを
出力線14に出力する。
第6図にオーバーフロー決定回路13の構成例を示す、
第6図において、400は排他的論理和回路、401は
アンド回路、402はオア回路である。すなわち、オー
バーフロー決定回路L3は。
0VF=OVO+○V ]、 +CAR・(S 1■S
2@A)の論理演算を行う。ここで、(S1■S2■A
)は、10進加算器が同符号の2つのデータ間で加算が
行われることを示す条件である。CAR・(Sl■S2
■A)は、同符号の2つのデータ間で加算が行われたと
き、2進加算器2の先頭ビットからのキャリイCARが
あったことを示し、それは、演算結果が8バイトまたは
16バイトを越えることを意味している。このとき第1
オペランド長及び第2オペランド長が共に8バイト以下
であるときには、オーバーフローが発生しており。
また、第1オペランド長または第2オペランド長のどち
らかが8バイトを越えている場合は、最初に後半8バイ
ト分の演算を行うが、その時のCARはオーバーフロー
決定回路13へは与えず、2進加算器2の最下位ビット
へ供給するパスを通して次に行われる残りのバイト分の
加算時に使用され、この時の演算で発生したCARがオ
ーバーフロー決定回路13へ与えられるようにすること
により、オーバーフローの検出を行うことができる。
〈実施例の動作〉 2個の可変長の2進化10進データは、一つはXバス、
他の一つはYバスからそれぞれ入力補正器1a、lbを
通って2進加算器2へ句、えられる。
2進加算器2による2進加算結果にもとづいて出力補正
器3にて、出力補正され、その演算結果がZバス5へ供
給される。この演算結果は結果格納部へ送られ、そこで
格納動作が開始される。一方。
2バス5の内容はデジット・エンコーダ6へ学えられ、
最上位有効桁の位置を示すエンコード出力Eo−E、が
信号線7に得られる。このエンコード出力のうちE。−
Elが比較器9へ与えられて第1オペランド長を示す値
LL、、LL、LL、L13と比較される。比較器9の
しくみは第5図に示した通りであり、格納領域のバイト
数(LL、。
Ll、LL2L1.+1)から演算結果の有効バイト数
(E。E、百2 E 3 + 1)を引いたものである
。この時、格納領域が8バイトを越えているときには、
キャリイC1がないとオーバーフローになり、格納領域
が8バイト以下であるときには。
キャリイC1がないとオーバーフローとなる。ただし、
格納領域が8バイトを越えるときには、@初の後半の8
バイトを演算するが、この時、デジット・エンコーダ6
は通常どおりの動作を行うが次に残りのバイトを演算し
たとき、その演算結果に対するデジットエンコード出力
のE。が0のときは(この中に有効桁がある)、残りバ
イトの演算結果のデジットエンコードを比較器9へ送出
するが、Ellが1のときは(残りバイト演算の中に有
効[7はない)、E、〜E、は先のデジットエンコーダ
結果を使用するようにする。このように格納領域の大き
によりデジットエンコードの出力を切り分けることが生
じるが、それは、最大16バイトまで存在するデータに
対して8バイト演算器を使用していることによるもので
、16バイト演算器を用いれば、このようなことは生じ
ない。したがって、デジットエンコーダ6の出力を切り
変えることは1本発明の基本にかかわるものではない。
デジットエンコーダは、あくまでも先頭の有効F43を
検出する手段としてのみ使用し、ているものである。
比較器9の出力OVO,○■1は信号線10によりオー
バーフロー決定回路13へ与えられ、そのうちのどちら
かがオンになれば、オーバーフローが検出される。しか
し、比較器9にて検出できない場合があるので、それを
検出するための論理がオーバーフロー決定回路13に付
加されている。
それは1例えば演算結果がオール0となり(El。
〜E3=1111)、2進加算器2のキャリイCARが
発生するようなケース、すなわち、同符号の2つのデー
タが加算されたケースの先頭ピントからのキャリイがあ
るようなケースである。、:の時のキャリイは、演算結
果が格納領域に入らないことを示しており、比較器9の
出力はそれを検出できない。したがって、第6図に示し
た如’CHCAR・ (SL■S2■A)なる条件と、
比較器9の出力O■0とOVIとの論理和によってオー
バーフローを検出することになる。しかしながら。
演算器+1Jが16バイトで出力17バイトを求め。
その出力に対してエンコーダを設け、有効07を検出す
るようにすれば、比較器9と同様の方式でオーバーフロ
ーを検出できる。
以上のIO進演算のオーバーフロー検出は、演算結果の
格納動作と並行して行われ、格納が完了して該当命令が
完了するまでに、オーバーフローは検出されることにな
る。
〔発明の効果〕
本発明によれば、オーバーフロー検出のためのハードウ
ェアの大半を占めるデジットエンコーダを他の処理にも
使用することができるため、オーバーフロー検出のため
のハードウェア量はきわめて少なくすることができる。
したがって計算機全体としてみれば、ハードウェア量の
低減を果すことができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図、第2図は第1
図におけるデジットエンコーダの詳細構成図、第3図は
デジットエンコーダ内の16ビツト、プライオリティエ
ンコーダの動作説明図、第4図は第1図における比較器
の詳P4構成図、第5呵 図は比較器の動作へ図、第6図は第1図におけるオーバ
ーフロー決定回路の詳j411ftll成図である。 2・・・2進加算器、  4・・・キャリ、イ・レジス
タ。 6・・・デジットエンコーダ、 9・・・比較器。 13・・・オーバーフロー決定回路、  15・・・オ
ーバーフロー検出論理部。 VF r:oEIE2P3E4 第3図 第4図 Ll。   E、     Lll EI     L
l2 E2     Llv E3QVO(9VI

Claims (1)

    【特許請求の範囲】
  1. (1)2個の可変長データについてN進演算を行い、そ
    の演算結果の指定された部分を可変長の格納領域へ出力
    する演算処理装置において、前記N進演算結果の検索を
    行って有効データの最上位位置を示す値を出力する手段
    と、前記有効データの最上位位置を示す値と前記演算結
    果の格納領域の大きさを示す値により、前記N進演算結
    果内に含まれる有効データ長が前記演算結果の格納領域
    よりも大きい場合にオーバーフローが発生したことを示
    す手段とを備えたことを特徴とする演算処理装置。
JP59169318A 1984-08-15 1984-08-15 演算処理装置 Expired - Lifetime JPH0680487B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59169318A JPH0680487B2 (ja) 1984-08-15 1984-08-15 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59169318A JPH0680487B2 (ja) 1984-08-15 1984-08-15 演算処理装置

Publications (2)

Publication Number Publication Date
JPS6148036A true JPS6148036A (ja) 1986-03-08
JPH0680487B2 JPH0680487B2 (ja) 1994-10-12

Family

ID=15884315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59169318A Expired - Lifetime JPH0680487B2 (ja) 1984-08-15 1984-08-15 演算処理装置

Country Status (1)

Country Link
JP (1) JPH0680487B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02125328A (ja) * 1988-11-04 1990-05-14 Toshiba Corp 差動バレルシフタ
JPH02127726A (ja) * 1988-11-08 1990-05-16 Nec Corp 情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5924343A (ja) * 1982-07-30 1984-02-08 Toshiba Corp 10進演算装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5924343A (ja) * 1982-07-30 1984-02-08 Toshiba Corp 10進演算装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02125328A (ja) * 1988-11-04 1990-05-14 Toshiba Corp 差動バレルシフタ
JPH02127726A (ja) * 1988-11-08 1990-05-16 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JPH0680487B2 (ja) 1994-10-12

Similar Documents

Publication Publication Date Title
US5805475A (en) Load-store unit and method of loading and storing single-precision floating-point registers in a double-precision architecture
US5761521A (en) Processor for character strings of variable length
JPH06337783A (ja) データ処理装置およびデータ処理方法
US3986015A (en) Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
JP2591463B2 (ja) リミッタ装置
JPS6227412B2 (ja)
JPH10500513A (ja) ディジタル除算実行装置
US5506800A (en) Self-checking complementary adder unit
JPS6148036A (ja) 演算処理装置
JPH01232423A (ja) 演算回路
EP0265948B1 (en) Data processor capable of immediately calculating branch address in relative address branch
US20020188640A1 (en) Dual mode arithmetic saturation processing
JPS6133539A (ja) 浮動小数点演算装置
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
JPS61282928A (ja) 浮動小数点演算装置
JPS6327746B2 (ja)
JPS5911141B2 (ja) 演算装置
JPS61224036A (ja) 演算装置
JPH0319568B2 (ja)
JPS61160134A (ja) 指数アンダ−フロ−検出回路
JP3139011B2 (ja) 固定小数点プロセッサ
JPH0887399A (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JPH07134645A (ja) 情報処理用条件コード生成装置
JPH0344327B2 (ja)
JPS645331B2 (ja)