JPH0462631A - 演算制御装置 - Google Patents

演算制御装置

Info

Publication number
JPH0462631A
JPH0462631A JP2173704A JP17370490A JPH0462631A JP H0462631 A JPH0462631 A JP H0462631A JP 2173704 A JP2173704 A JP 2173704A JP 17370490 A JP17370490 A JP 17370490A JP H0462631 A JPH0462631 A JP H0462631A
Authority
JP
Japan
Prior art keywords
zero
digits
detector
data
units
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
JP2173704A
Other languages
English (en)
Other versions
JP2985093B2 (ja
Inventor
Susumu Onodera
進 小野寺
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2173704A priority Critical patent/JP2985093B2/ja
Publication of JPH0462631A publication Critical patent/JPH0462631A/ja
Application granted granted Critical
Publication of JP2985093B2 publication Critical patent/JP2985093B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、演算制御装置に係り、詳しくは不要なゼロ列
を排除するゼロサプレス(zero 5uppresS
)を行なう演算制御装置に関する。
[従来の技術] 計算機で取り扱う情報の最小単位は、ビットで2進数の
1桁に対応する。10進数は4ビツトで符号化されるが
、文字や記号を含めると6ビツトまたは8ビツト(1バ
イト)必要となる。1字または1バイトに1桁の10進
数を入れた状態を、ゾーン形式(zoned form
at)またはアンパック形式(unpacked fo
rmat)と呼ぶのに対し、1バイトを4ビツトずつに
区切り、それぞれにBCD符号を入れ1バイトで2桁の
10進数を表現する形式をパック形式(packed 
fotmat)という。但し、正負は最下位バイトの下
4ビットで表示するため、10進の最下位桁は常に最下
位バイトの上4ビットに入るように位置決めが行なわれ
る。
ところで、パック形式の一般的な演算方法としては、2
値の桁揃えをした後、演算を行ない、最後にその演算結
果のゼロサプレスを行なう場合か多い。ここで、ゼロサ
プレスとは演算の結果値をパック形式に変換するときに
必要な仮数部の最適化に伴う不要なゼロ列の排除であり
、それによって指数部(パック値の一部)の値も確定さ
れることとなる。
第8図〜第10図は16byte、32桁の演算結果を
ゼロサプレスした例である。例えば、第8図(A)に示
す数値はゼロザブレスされてゼロの部分が消されると第
8図(B)に示すように8桁の数値となる。また、第9
図(A)に示す数値は」二位側が2桁、下位側が6桁ゼ
ロサプレスされて第9図(B)に示す桁数の数値となる
。また、第1O図(A)に示す数値は上位側にゼロザブ
レスされるゼロ列はなく、下位側がゼロサプレスされて
第10図(B)に示すように6桁の数値となる。
上述したように、従来は1 byte単位(2桁づつ)
で読み出してOになるかどうかを判別するか又は1桁ず
つ読み出して無効であると判断してゼロザブレスし、O
でない段階がきたところでそれを有効なものと扱うよう
にしている。
[発明が解決しようとする課題] しかしながら、このような従来のゼロザブレスを行なう
演算制御装置にあっては、ある単位で数値を記憶させた
場合はその単位で読み出してゼロサプレスを行なうよう
になっていたため、1 byte単位(2桁ずつ)読み
出してゼロサプレス行なうものは1 byte単位でゼ
ロサプレスを行なうことから処理は速いものの、その1
 byte中にゼロサプレスされるべきゼロ列があって
もこれを排除することができない(第9図(A)■、0
部分および第10図(A、)0部分参照)。また、1単
位位でゼロサプレスを行なうものではゼロサプレスは殆
ど完全に行なうことができるが、1桁づつチエツクして
いくために多大の時間を要してしまうという欠点があっ
た。
何れにしても、パック形式における演算結果のゼロサプ
レス行なうとき、読み出した1バイト単位または桁単位
でゼロ列を見つける態様となっていることから、前者に
あってはゼロサプレスが不十分の場合のために余計な転
送や演算が追加されるための時間的な無駄が生じ、また
、後者にあってはチエツク時間の短縮化が図れない。
してみれば、ゼロサプレスする際の読み出しの単位を適
当な桁数とし、その桁数を更に分けて一括してチエツク
するようにすれば、1バイト単位又は桁単位でゼロサプ
レスする従来の演算制御装置のそれぞれの長所を活かす
ことができることは明らかである。
本発明の課題は、ゼロサプレスの効率を高め、ゼロサプ
レス処理を高速化できるようにすることである。
[課題を解決するための手段] 本発明の手段は次の通りである。
第1の読出手段1 (第1図の機能ブロック図をを参照
、以下同じ)は、所定の数値データ構造により指数表現
の数値データを記憶したR A M等からアドレス指定
により対象数値の最上位桁から2n桁単位でデータを読
み出すものでアドレスバス、アドレスレジスタ等である
第2の読出手段2は、対象数値の最下位桁から2n桁単
位でデータを読み出すものでアドレスバス、アドレスレ
ジスタ等である。
ゼロ検出手段3は、第1の続出手段1若しくは第2続出
手段2から読み出されたデータの上位0桁のゼロを検出
する第1の検出器3a(例えば、NOR回路)、下位0
桁のゼロを検出する第2の検出器3b(例えば、NOR
回路)、両検出器3a、3bが共にゼロを検出したこと
を検出する第3の検出器3c(例えば、AND回路)で
ある。
第1のゼロサプレス手段4は、第3の検出器3Cによる
ゼロ検出の際、読み出された2n桁のデータを対象数値
からゼロサプレスするもので、例えばCPUにより実行
される。
第2のゼロサプレス手段5は、第3の検出器3Cによる
ゼロ検出がなく、第1の検出器3cによるゼロ検出があ
った際に、読み出された2n桁のデータのうち上位0桁
をゼロサプレスするもので、例えばCPUにより実行さ
れる。
第3のゼロサプレス手段6は、第3の検出器3Cによる
ゼロ検出がなく、第2の検出器3bによるゼロ検出があ
った際に、読み出された2n桁のデータのうちの下位9
桁をゼロサプレスするもので、例えばCPUにより実行
される。
[作用] 本発明の手段の作用は次の通りである。
第1の読出手段1および第2の読出手段2により、対象
数値の最上位桁から2n桁単位データおよび対象数値の
最下位桁から2n桁単位データが読み出されると、第1
の検出器3aおよび第2の検出器3bにより読み出され
たデータの上位0桁、下位9桁のゼロが検出される。ま
た、第3の検出器3Cによって第1の検出器3a、第2
の検出器3bが共にゼロであることが検出される。これ
により、上位下位合わせた複数桁単位の数値がゼロであ
ることが検出される。そして、ゼロサプレス手段4〜6
は複数桁、上位桁、下位桁のゼロ検出結果に基づいて一
括してゼロサプレスを実行する。
具体的には、第3の検出器3Cによるゼロ検出の際に読
み出された2n桁のデータが対象数値からゼロサプレス
され、また、第3の検出器3cによるゼロ検出がなく、
第1の検出器3aによるゼロ検出があった際に、読み出
された2nのデータのうちの上位0桁がゼロサプレスさ
れ、第3の検出器3Cによるゼロ検出がなく、第2の検
出器3bによるゼロ検出があった際に、読み出された2
n桁のデータのうちの下位9桁がゼロサプレスされる。
従って、2n桁のデータが対象数値からゼロサプレスさ
れるのと同時に上位および下位に分けられた0桁のデー
タもゼロサプレスされる。その結果、2n桁単位でチエ
ツクされることがらゼロサプレス処理が高速化される一
方、n桁単位でチエツクされることから2n桁単位中に
あるゼロ列ができる限り排除されてゼロサプレス処理の
実効が図られる。
[実施例] 以下、第2図〜第7図を参照して実施例を説明する。
第2図〜第7図は演算制御装置の一実施例を示す図であ
る。
まず、構成を説明する。第2図は演算値のゼロサプレス
を行なう演算制御装置11構成を示すブロック図であり
、この図において、演算制御装置11は、第4図(A)
示すデータ形式による指数表現の数値データの演算を行
なう演算部21と、所定のデータ形式に変換された後の
数値データおよび演算の結果値等を記憶する16bit
メモリ22と、数値データの指数値を格納する指数レジ
スタ23と、後述する制御部28からの命令により16
bitメモリ22のアドレス指示をするアドレスレジス
タ24と、16bitメモリ22から読み出された数値
データが上位4桁づつワード単位(2バイト、4桁)で
入力され、そのNORをとった値II buを制御部2
8(後述)およびAND回路27に出力するNOR回路
25と、16bitメモリ22から読み出された数値デ
ータが下位4桁づつワード単位(2バイト、4桁)で入
力され、そのNORをとった値II CIIを制御部2
8およびAND回路27に出力するNOR回路26と、
NOR回路25.26からの出力値11 bII   
II CIIのAND論理をとり、その値II CII
を制御部28に出力するAND回路27と、データバス
12および16bitのアドレスバス13を介して上記
各回路に接続され、NOR回路25.26およびAND
回路27に出力す、c、aを基に演算結果のゼロサプレ
ス処理を行なう制御部28と、により構成されている。
上記NOR回路(第1の検出器)25、NOR回路(第
2の検出器)26およびAND回路(第3の検出器)2
7は全体としてゼロ検出手段31を構成し、制御部28
は第1のゼロサプレス手段、第2のゼロサプレス手段お
よび第3のゼロサプレス手段を構成している。
次に、本実施例の動作を説明する。
第3図は制御部28におけるゼロザブIノス処理プログ
ラムを示すフローチャートである。同図中、符号Sn 
(n=1.2.・・・・)はフローの各ステップを示し
ている。
本プログラムがスターI・すると、先ずステップS1で
アト1ノスレジスタ24に先頭アドレスを指定し、ステ
ップS2で指定された先頭アドレスから16bitのア
ドレス指定によってメモリ22から16bjtの数値デ
ータ(ここでは仮数値)を−括して読み出してNOR回
路25.26に上位桁から4桁ずつ入力する。
ステップS32では、上位桁をチエツクするNOR回路
25の出力すおよび下位桁をチエツクするNOR回路2
6の出力Cと、その出力す、cを基に16bit出力全
体をチエツクするために設けられたAND回路27の出
力aとを判別し、(a=1.b−1)のときは4桁とも
ゼロであると判断して全桁ゼロサプレスするためにステ
ップS4で現在の指数値から−2した値を指数レジスタ
23に格納する。ここで、本実施例では指数値の基数を
”100”にしているから、4桁すれるということは1
00’分の指数をマイナスすることとなる。次いて、ス
テップS5で指定された部分のアドレスを消すことによ
って2バイト分セロサブ1ノスする。この場合、単位と
してはメ千り22から16ビツトデータを読み出してい
るので全桁(相当するアドレス部分はOをつけて消1−
0次いて、ステップS6で次のアドレスにおける実際の
データについて同様の処理を行なうためにアト1ノスレ
ジスタ24のアドレスを1つ更新しくアドレス+1→ア
ドレスレジスタ)、ステップS7でアドレス指定を行な
ってステップS2に戻る。かかる処理を繰り返した段階
で、ステップ82〜S7のループを抜けると後述する第
5図(A)に示すように上位16bit単位のセロサプ
レスが一度に終了した状態となる。
一方、ステップS3で(a=0.b=1)のときは上位
桁だけがセロになった場合であるから、上位2桁のゼロ
サプレスをするためにステップS8で指数値から−1し
た値を数値レジスタ23に格納し、ステップS9で上位
1バイト分ゼロサプレスを行なってステップSIOに進
む。これにより、16bit単位ではゼロサプレスされ
なかった16bit単位中の上位のゼロ列がゼロサプレ
スされる(第6図(A)■参照)。なお、このa、  
bを判別すると上位のゼロサプレスを行なうか否かが判
別できるが、上位に関してa、bの値がa−1、b=o
になることはあり得ない。
一方、ステップS3で(a=o、b=o)のときはNO
R回路25.26に基づく出力a、bが何れもOであり
、従ってゼロサプレスの必要がない(換言すればゼロサ
プレスできない)場合であるから、ステップSIOに進
み、ステップSIOで下位からゼロサプレスを行なうた
めに最終アドレスを指定し、ステップSllで指定され
た最終アドレスから16bitの数値データを読み出し
てNOR回路25.26に上位桁から4桁ずつ入力する
ステップS12では、上位桁をチエツクするNOR回路
25の出ツノbおよび下位桁をチエツクするNOR回路
26の出力Cと、その出力す、cを基に作成されたAN
r)回路27の出力aとを判別し、(a=1.c=1)
のときは下位側の4桁どもゼロであると判断して全桁ゼ
ロサプレスするためにステップS13で指定された部分
のアドレスを消すことによって2パイ1〜分セロサプレ
スする。
この場合、下位側のセロサプレスであるため指数値の変
更はない。次いで、ステップS14で次のアドレスにお
ける実際のデータについて同様の処理を行なうためにア
ドレスレジスタ24のアドレスを1つ更新しくアドレス
+1→アドレスレジスタ)、ステップS15でアドレス
指定を行なってステップSllに戻る。かかる処理を繰
り返した段階で、ステップSll〜S15のループを抜
けると後述する第6図(A)および第7図(A)に示す
ように下位16bit単位のゼロサプレスが括して排除
される。
一方、ステップS12で(a=0.c=1)のときは上
位桁だけがゼロになった場合であるから、上位2桁のゼ
ロサプレスをするためにステップ816で下位1バイト
分ゼロサプレスを行なって今回の処理を終了する。また
、ステップS12で(a = O、c = O)のとき
はゼロサプレスの必要がない(換言すればゼロサプレス
できない)場合であるから、そのまま処理を終える。従
って、16bit単位ではゼロサプレスしきれなかった
16b1を単位中の下位のゼロ列がゼロサプレスされる
(第6図(A)および第7図(A)参照)。
上記プログラムを実行することによりパック形式の演算
の結果値は高速かつ効率よくゼロサプレスされ、ゼロサ
プレスを行なった桁数によりパック値の一部である指数
部の値も確定される。例えば、第4図(A)に示すよう
に先頭に符号、その後に指数値、仮数値をもつ指数表現
のパック形式に適用した揚台、数値データの基数が’1
00”であるとすると、数値123456.123はそ
れぞれ以下のように指数表現され、その指数値、仮数値
は第4図(B)に示す形式でメモリ22に記憶される。
123456=0.123456X100″123=0
.0123X100’ 第4図(B)に示す形式でメモリ22に記憶された数値
の演算(例えば、減算)を行なうとその演算の結果値は
第4図(C)で示される。これにより、上位側にゼロ列
が生じることからゼロサプレスが必要になり、第3図に
示したプログラムによってゼロサプレス処理を実行する
と第4図(D)に示すように16bit分のゼロ列が排
除される。
なお、この例では16bit単位のチエツク(第3図の
ステップS2〜S7およびSll〜S15処理参照)で
はゼロサプレスできないが、l byte単位のチエツ
ク(第3図のステップS9および816参照)で1 b
yteずつゼロ列を排除でき、結果として16bit分
(2バイト)のゼロサプレスが実現できる。従って、従
来16bit単位でゼロサプレスを行なっていた場合に
はできなかった16bit単位中のゼロサプレスが可能
になる。また、この場合、単純に1 byte単位だけ
でチエツクするものではなく、16bit単位のゼロ列
は直ちにゼロサブし・スされることとなって処理が高速
化される。
第5図〜第7図はゼロサプレス実行した場合の具体例を
説明するための図である。
第5図(A)に示すパック形式の数値は4桁ずつ16b
it単位でチエツクされ、第5図(B)に示すようにア
ドレス6の下4ビットまで上位12バイト分ゼロサプレ
スされる。これに伴って指数部の値も変更される。
第6図(A)に示すパック形式の数値は第6図(E3)
に示すように上位1バイト、下位3バイト分がゼロサプ
レスされ、指数値も変更される。ここで、従来の16b
it単位(4桁)でチエツクするものでは第6図(B)
■および■に示す部分のゼロ列を排除することができな
かったが、本実施例では16bit単位でチエツクしな
がらも上記■、0部分のゼロ列を排除することができ、
高速性を維持しつつ効率の良いゼロサプレスが実現でき
る。
同様に、第7図(A)に示すパック形式の数値にあって
も最終桁から16bit単位でゼロサプレスされるとと
もに、第7図(B)■の部分がゼロサプレスされ、1バ
イト単位で少しでも多くゼロ列が排除される。
以上述べたように、本実施例ではNOR回路25.26
で上位桁、下位桁のゼロを検出するとともに、AND回
路27で全桁(16bit単位)のゼロを検出し、これ
らの検出結果に基づいて16bit単位でかつその上位
、下位1 byte単位でゼロサプレス処理を行なって
いるので、ゼロサプレス処理を高速化でき、また、ゼロ
列を残すことなく完全に行なうことができるから従来必
要とされたデータ転送や演算、レジスタ等が不要となり
処理の効率化・高速化が図られる。
なお、本実施例では複数桁(2n)のデータを16bi
t単位(4桁)としその上位桁、下位桁(n)を1by
te(2桁)としているが、数値データから複数桁(2
n)のデータを抽出しそれを上位桁、下位桁(n)に分
けてチエツクするものであれば16bit単位、1 b
yte単位に限定されないのは言うまでもない。
また、本実施例では数値デ・−夕を指数表現した仮数値
に適用した例であるか、指数表現にしない数値データに
ももちろん適用することができる。
また、本実施例では指数値の基数を” 100 ”にし
ているが、これに限らず、一般の指数表現(仮数XIO
”)のように基数を” i o ”にしてもよい。
[発明の効果] 本発明によれば、数値データをゼロサプレスする際、複
数桁単位に読み出し、全桁上口、上位のみゼロ、下位の
みゼロを一括してゼロサプレスするようにしているので
、ゼロサプレス処理の高速化を図ることができる。
【図面の簡単な説明】
第1図は本発明の機能ブロック図、第2図〜第7図は演
算制御装置の一実施例を示す図であり、第2図はその演
算制御装置のブロック構成図、第3図はそのゼロサプレ
ス処理プログラムを示すフローチャート、第4図はその
ゼロサプレス処理を説明するための図、第5図〜第7図
はそのゼロサプレス例を示す図、第8図〜第10図は従
来のゼロサプレス例を示す図である。 11・・・・演算制御装置、12・・・・データバス、
13・・・・アドレスバス、21・・・・演算部、22
・・・・16bitメモリ、24・・・・アドレスし・
ジスタ、25・・・・N OR回路(第1の検出器)、
26・・・・NOR回路(第2の検出器)、27・・・
・AND回路(第3の検出器)、28・・・・制御部(
第1のゼロサプレス手段、第2のゼロサプレス手段、第
3のゼロサプレス手段)、31・・・・ゼロ検出手段。 特許出願人 カシオ計算機株式会社 第1図 第2図

Claims (1)

  1. 【特許請求の範囲】 対象数値の最上位桁から2n桁単位でデータを読み出す
    第1の読出手段と、 対象数値の最下位桁から2n桁単位でデータを読み出す
    第2の読出手段と、 前記の第1の読出手段若しくは前記第2の読出手段から
    読み出されたデータの上位n桁のゼロを検出する第1の
    検出器、下位n桁のゼロを検出する第2の検出器、第1
    の検出器および第2の検出器が共にゼロを検出したこと
    を検出する第3の検出器からなるゼロ検出手段と、 第3の検出器によるゼロ検出の際に、読み出された2n
    桁のデータを対象数値からゼロサプレスする第1のゼロ
    サプレス手段と、 第3の検出器によるゼロ検出がなく、第1の検出器によ
    るゼロ検出があった際に、読み出された2n桁のデータ
    のうち上位n桁をゼロサプレスする第2のゼロサプレス
    手段と、 第3の検出器によるゼロ検出がなく、第2の検出器によ
    るゼロ検出があった際に、読み出された2n桁のデータ
    のうちの下位n桁をゼロサプレスする第3のゼロサプレ
    ス手段と、 を備えたことを特徴とする演算制御装置。
JP2173704A 1990-06-29 1990-06-29 演算制御装置 Expired - Fee Related JP2985093B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2173704A JP2985093B2 (ja) 1990-06-29 1990-06-29 演算制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2173704A JP2985093B2 (ja) 1990-06-29 1990-06-29 演算制御装置

Publications (2)

Publication Number Publication Date
JPH0462631A true JPH0462631A (ja) 1992-02-27
JP2985093B2 JP2985093B2 (ja) 1999-11-29

Family

ID=15965582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2173704A Expired - Fee Related JP2985093B2 (ja) 1990-06-29 1990-06-29 演算制御装置

Country Status (1)

Country Link
JP (1) JP2985093B2 (ja)

Also Published As

Publication number Publication date
JP2985093B2 (ja) 1999-11-29

Similar Documents

Publication Publication Date Title
CN102331921B (zh) 用于检测十进制浮点量异常的方法和系统
KR840001350A (ko) 부정장(不定長) 명령을 갖는 데이터 처리장치
JPS6097435A (ja) 演算処理装置
JPH0145649B2 (ja)
JPH0786826B2 (ja) 整数除算回路
JPH034936B2 (ja)
JP2504847B2 (ja) 10進デ―タのチェック回路
US3400380A (en) Digital computer having an address controller operation
JPH0462631A (ja) 演算制御装置
JPS6120134A (ja) 平方根計算装置
JPS62128331A (ja) 情報処理装置
JPS59174942A (ja) 演算制御装置
JPH0778723B2 (ja) 情報処理装置
JP3523407B2 (ja) 情報処理装置
JPS642970B2 (ja)
JP3137636B2 (ja) データ処理装置
JP3787951B2 (ja) コード変換方法及びこれを用いたコード変換装置
JPS6016649B2 (ja) データ処理装置
JP3123545B2 (ja) データ処理装置
JP2624738B2 (ja) 丸め処理方式
JPH03245225A (ja) 浮動小数点加減算装置
JPH0680487B2 (ja) 演算処理装置
CN114077416A (zh) 浮点数运算方法及装置
JPS62212833A (ja) 演算処理装置
JPS61275936A (ja) 条件決定装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees