JPS59174942A - 演算制御装置 - Google Patents

演算制御装置

Info

Publication number
JPS59174942A
JPS59174942A JP58049929A JP4992983A JPS59174942A JP S59174942 A JPS59174942 A JP S59174942A JP 58049929 A JP58049929 A JP 58049929A JP 4992983 A JP4992983 A JP 4992983A JP S59174942 A JPS59174942 A JP S59174942A
Authority
JP
Japan
Prior art keywords
overflow
operand
data
calculation
arithmetic
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
JP58049929A
Other languages
English (en)
Inventor
Kazutoshi Eguchi
江口 和俊
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP58049929A priority Critical patent/JPS59174942A/ja
Publication of JPS59174942A publication Critical patent/JPS59174942A/ja
Pending 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
    • 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

  • 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)

Abstract

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

Description

【発明の詳細な説明】 本発明は可変長データを扱う演算制御装置に関する。
〔発明の技術的背景とその問題点〕
一般にこの種可変長データを扱う演算装置においては、
加減算処理を実行する際、データが可変長であることか
秒、第1オペランドと第2オペランドとのデータ長が異
なるのが普通である。また各オペランドの上位桁は、実
゛質的演算には無意味な数値″θ″で占められているこ
とが多い。この際、従来では、第1オペランドと第2オ
ペランドのうち、何れ゛か長い方のデータ長に合わせて
演算を行なっており、その演算結果のデータを第1オイ
ランドの領域に格納し、演算結果に伴うコンディション
コードを生1fflしていた。従って、従来では実質的
に影響されない冗長演算に費される時間が多く、演算の
高速化を計る上で大きな妨げとなっていた。
〔発明の°目的〕
本発明は上記実情に鑑み々されたもので、可変長データ
の演算を行なう演算装置において、実質的に影響を及ぼ
すことのない冗長演算を回避して、可変長データの演算
を高速に実行できるようにした演算制御装置を提供する
ことを目的とする。
〔発明の概要〕
本発明は、第2オペランドフェッチ時に、第2オペラン
ドの有効桁数を算出し、更にその有効桁数を用いてオー
バフロー発生有無のグリチェックを行なう機能を備えて
、オーバフローの発生が事前に検知された際はその演算
を行なわすオーバフローの発生を示すコンディションコ
ードを生成し、又、オーバ70−の発生しないことが事
前に検知された際は、演算に必要充分な第1オ被ランド
+1桁分の演算のみを実行するようにしたもので、これ
によシ演算結果に影響を及はすことのない冗長演算を避
け、実質的な可変長データ演算処理速度を向上せしめた
ものである。
〔発明の実施例〕
以下図面を参照して本発明の一実施例を説明する。第1
図は本発明の一実施例を示すブロック図である。図中、
10は主記憶、20は演算部、30はデータファイルで
ある。40は第2オペランドフェッチ時に、主記憶10
からデータファイル30へ読込まれるデータからリーデ
ィングゼロ(Leading Zero )の個数(桁
数)LZN’i検出するリーディングゼロ検出部であり
、5゛0はこのリーディングゼロ検出部30で検出され
たリーディングゼロの個数LZNと第2オペランドのデ
ータ長から第2オペランドの有効桁数を算出する有効桁
数算出部である。eoVi上記有効桁数算出部50で算
出された有効桁数と第1オペランドのデータ長とにもと
づいてオーバフローの発生有無を事前にチェックするオ
ーバフロープリチェック部である。
第2図は上記有効桁数算出部50の構成を示すブロック
図である。図中、21は第2オペランドのデータ長(バ
イト数)を示すデータ(以下Length Ifと称す
)を格納するレジスタ、22は第2オペランドの置かれ
る主記憶lO上のアドレス下位2ビツトデータ(以下B
oundary IIと称す)を保持するレジスタであ
る。23は上記リーディングゼロ検出部40で検出され
たリーディングゼロの個数を示すデータ(以下LZNと
称す)が主記憶10の全語(フルワード)単位に相当す
る桁数(ここでは全語単位を4バイトとし、従ってパッ
ク形式で8桁とする)であるか否かの判定を行なうLZ
N\8判定部である。24はLength Uを左1ビ
ツトシフト(2倍)したデータLength * 2、
又はLZNの何れか一方を選択するセレクタ、25は1
3oundary lを左1ビツトシフト(2倍)した
データBoundary II * 2、又はレジスタ
27のデータ(R,eg II)の何れか一方を選択す
るセレクタである。26はセレクタ24.25の出力デ
ータを受けて加q:又は減算を行なう加減算器である。
27は加減算器26の出力データを一時保持するための
レジスタであり、以下その保持データをReg[と称す
第3図は上記オーバ70−ゾリチエツク部60の構成を
示すブロック図である。図中、3)は第2オペランドの
シフト桁数を示すデータNを格納するレジスタであり、
32は第1オペランドのデータ長(バイト数)を示すデ
ータし1を貯えるレジスタである。33は“0”、上記
シフト桁数データN 、 Reg l、及びReg I
I W(Regllを1ビツト右シフトしてAにしたデ
ータ)の何れか一つを選択するセレクタ、34は上記デ
ータL1、このデータL1を左1ビツトシフトしたデー
タL1*2、及びレジスタ36に貯えられたデータの何
れか一つを選択するレジスタである。35はセレクタ3
3.34の出力データを渣 受けて加算又は減算を行なう1算器、36はこの減算器
35の出力データを一時保持するためのレジスタである
以下第1図乃至第3図を参照して一実施例の動作を説明
する。ここでは加減算のように第1オペランドと第2オ
ペランドとの間で演算ヲ行ない、その結果を第1オペラ
ンドの領域に格納する場合を考える。先ず演算の実行に
際し、第2オペランドが主記憶1oがら読出され、デー
タ処理装置内のデータファイル3oに格納される。この
際デ′−夕は高速化のため、すべて上記(;i 1oの
全語境界から全語単位(例えば4バイト単位)で読出さ
れる。主記憶10から読出された全語単位のデータはデ
ータファイル3・0に格納される際、リーディングゼロ
検出部40に入力され、パック形式10進数の1桁に相
描する4ビット曝位で、最上位桁よ!ll″0”の個数
すなわちLZNが求められる。このリーディングゼロ検
出部4θで求められたLZNは有効桁数算出部sorg
、入力される。有効桁数算出部50は上記リーディング
ゼロ検出部40で求められたLZNと第2オペランドの
データ長にもとづいて以下に示す(1)、(11)の手
順により第2オペランドの有効桁数を求める。
(i) Reg 114− Boundary ]I*
2 + Length*2(fり Reg 114− 
Reg II  LZNここで、(1)は各オペランド
がバイトアドレス指定可能であるのに対し、第2オペラ
ンドフエツチの際の主記憶10からの読出しが全語嘔位
で行なわれることによる桁補正であり、(11)は最終
的に有効桁数を求めるためのものである。尚、主記憶1
0から読出された全語単位のデータのうち、第2オペラ
ンドに含1れない不要データはO”として扱われる。上
記した(1)、(11)の演算動作を第2図を参照して
説明する。先ず(1)の演算時は、セレクタ24がレジ
スタ21に貯えられたLength IIの2倍(左1
ビツトシフト)の値、すなわちLength II *
 2を選択し、セレクタ25がレジスタ22に貯えられ
たBoundary IIの2倍(左1ビツトシフト)
の値すなわちBoundary ■* 2を選択して、
この各セレクタ24.25の出力が加減算回路26によ
り加算され、その結果がRegl[としてレジスタ27
に貯えられる。これにより不要データ部分を含めた第2
オペランドデータの桁数が求まる。次に、(1])の演
算時は、セレクタ24がレジスタ27のデータ(Reg
 U )を選択し、手しクタ25がリーディングゼロ検
出部40からの全語単位(8桁分)のLZNを選択して
、Reg It −LZNの減算が加減回路26により
行なわれ、その結果がレジスタ27に貯えられる。この
Reg l −LZNの減算がLZ1%8、またはRe
g It −LZN<Oとなるまで繰返されることによ
り、レノヌク27に1最終的な第2オペランドの有効桁
数を示すデータが入力され保持される。
上述の如くして、有効桁数算出部50で求められた杷2
オペランドの有効桁数値すなわちレジスタ27に貯えら
れたReg nは、オーツぐフロープリチェ、り部60
に送られ、オーツぐフロー有無を事前に検出するための
演算に供される。
オーバフロープリチェック部60のノリチェックは、第
1オペランドのデータ桁数+1桁(Length I 
+1 )と、上述した第2オペランドの有効桁数(Re
gII)との比較によりなされるもので、(Lengt
hl+1 )−1’jegl[の結果、その値が負であ
ればオーバフローが発生するものと判断する。即ち第3
図において、セレクタ33で選択されたRegnとセレ
クタ34で選択されたL1*2とか加減初:器35に入
力され、L’l*2−Regl[の減算の結果、OII
又は負であれば、オーバフローが発生するものと判断す
る。ここでオー・ぐフロー有りの判断時においては、そ
の演算を演算部20により実行せず、その演算を処理終
了として、オーバフローラ示すコンディションコートヲ
生成する。又、上記演讃:の結果、オーバフロー無しの
判断か表された際は、演算部20により、第1オペラン
ド+1桁分の演算が実行される。
ここで本発明の一実施例では、命令語に規定されたシフ
ト数Nにより第2オペランドのシフトを指示することが
できる。この場合、第1オペランドとシフト後の第2オ
ペランドとで演算が行なわれるため、第2オペランドの
有効桁数は、シフト数Nによシ、左シフトの場合は拡大
さh、右シフトの場合は縮小さレル。
また、本実施例では10進数データとして・(ツク形式
とゾーン形式の両方を扱う。・eツク形式の場合、1桁
は4ビツトで扱うのに対し、ゾーン形式の場合、1桁は
8ビツトで扱われる。
従って、オーバフローのプリチェックは次の様に力る。
(なおシフト数Nはシフト桁数を示し、左シフトの場合
正、右シフトの場合負のfik(2の補数表示)であら
れされるものとし、また第1第4ランド長1st 、バ
イト単位で、Llであられされるものとする。) (1)ノP、り形式10進数の場合 (L1*2+1)  (Reglf+N)<0(11)
  ゾーン形式10進数の場合(Ll+1)−(ReH
II/2+N)(0上記の演算の結果、負の場合、即ち
アダーからのキャリーがあった場合、オーバフロー発生
とし、演習[(例えば加算)を行なわず処理終了する。
上述したように、第2オペランドの有効桁数′lc調べ
、更にそれによジオ−バフローのプリチェックを行々う
ことによシ、演算前に明らかにオーバフローが発生する
ことがわかっている場合は、その演算を省略し、またプ
リチェックによりオーバフローと判定されなかった場合
は、演算に必要充分な第1オペランド+1桁分の演算の
みを行なうことにより、冗長な演算を行なうことを避け
、実質的な処理性能を向上できる。
〔発明の効果〕
以上詳記したように本発明によれば、可変長データの演
算を行なう演算装置において、第2オペランドフェッチ
時に、第2オ(ランドの有効桁数を算出し、更にその有
効桁数を用いてオーバフロー発生有無のプリチェックを
行なうようにして、オーバフローの発生が手前検知され
た際はその演算を行なわず、オーバフローの発生を示す
コンディションコードを生成し、又、オーバフローの発
生しないことが事前検知された際は演算に必要充分な第
1オペランド+1桁分の演算のみを実行することにより
、実質的に影響を及ばずことのない冗長演算を回避して
、可変長データの演算処理を高速に実行できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図、
及び第3図はそれぞれ上記実施例の一部の構成を詳細に
示すブロック図である。 10・・・主記憶、20・・・演算部、30・・・デー
タファイル、4b・・・リーディングゼロ検出部、50
・・・有効桁・#、算出部、60・・・オー・970一
プリチエツク部〇 出願人代理人  弁理士 鈴 江 武 彦第 1 図 第2図 第3図

Claims (1)

    【特許請求の範囲】
  1. 可変長データの演算を行なう演算装置において、第2オ
    及ランドの有効桁数を算出する有効桁数算出部と、この
    有効桁数算出部で算出された有効桁数と第1オペランド
    のデータ長とによジオ−バフローの有無を事前に判定す
    るオーバフロープリチェック部と、とのオーバフロープ
    リチェック部の判定出力がオーバフロー有を示している
    際に演算の実行を取止めてオーバ70−の発生を示すコ
    ンディションコードを生成し、前記判定出力がオーバフ
    ロー無しを示している際に第1オペランド長+1桁分の
    演算を実行する手段とを具備してなることを特徴とする
    演算制御装置。
JP58049929A 1983-03-25 1983-03-25 演算制御装置 Pending JPS59174942A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58049929A JPS59174942A (ja) 1983-03-25 1983-03-25 演算制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58049929A JPS59174942A (ja) 1983-03-25 1983-03-25 演算制御装置

Publications (1)

Publication Number Publication Date
JPS59174942A true JPS59174942A (ja) 1984-10-03

Family

ID=12844701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58049929A Pending JPS59174942A (ja) 1983-03-25 1983-03-25 演算制御装置

Country Status (1)

Country Link
JP (1) JPS59174942A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1052567A1 (en) * 1999-05-13 2000-11-15 Nec Corporation Accumulator saturation predictor
JP2009093877A (ja) * 2007-10-05 2009-04-30 Honda Motor Co Ltd 車両の灯体配置構造
GB2568414A (en) * 2016-09-06 2019-05-15 Jaguar Land Rover Ltd A lamp assembly for a vehicle, and a vehicle comprising such a lamp assembly

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1052567A1 (en) * 1999-05-13 2000-11-15 Nec Corporation Accumulator saturation predictor
JP2009093877A (ja) * 2007-10-05 2009-04-30 Honda Motor Co Ltd 車両の灯体配置構造
GB2568414A (en) * 2016-09-06 2019-05-15 Jaguar Land Rover Ltd A lamp assembly for a vehicle, and a vehicle comprising such a lamp assembly
GB2568414B (en) * 2016-09-06 2021-10-20 Jaguar Land Rover Ltd A lamp assembly for a vehicle, and a vehicle comprising such a lamp assembly

Similar Documents

Publication Publication Date Title
JPS5847053B2 (ja) デ−タ処理装置
EP0201833A2 (en) Instruction processor
JPS59174942A (ja) 演算制御装置
JPS58182754A (ja) 演算処理装置
US6079011A (en) Apparatus for executing a load instruction or exchange instruction in parallel with other instructions in a dual pipelined processor
JPH03142533A (ja) 10進データのチェック回路
JPS62128331A (ja) 情報処理装置
JP2985093B2 (ja) 演算制御装置
JPH02127726A (ja) 情報処理装置
JP2591250B2 (ja) データ処理装置
JPS5922142A (ja) デ−タ処理装置
JPS60245046A (ja) ロジカルシフト演算回路
JPH0352092B2 (ja)
JPH0651955A (ja) 浮動小数点演算機能を持つ情報処理装置
JPH04316127A (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JPS61294582A (ja) 演算装置
JPH0467666B2 (ja)
JPS5911141B2 (ja) 演算装置
JPS6074023A (ja) 変数チエツク方式
JPS61216031A (ja) オペランド・オ−バ−ラツプ検出方式
JPS63279321A (ja) マイクロプログラム制御装置
JPS63181030A (ja) 特定デ−タパタ−ンにおける演算高速化システム
JPH03217938A (ja) 浮動小数点丸め正規化装置
JPS6133215B2 (ja)