JP2985093B2 - 演算制御装置 - Google Patents

演算制御装置

Info

Publication number
JP2985093B2
JP2985093B2 JP2173704A JP17370490A JP2985093B2 JP 2985093 B2 JP2985093 B2 JP 2985093B2 JP 2173704 A JP2173704 A JP 2173704A JP 17370490 A JP17370490 A JP 17370490A JP 2985093 B2 JP2985093 B2 JP 2985093B2
Authority
JP
Japan
Prior art keywords
zero
digits
detector
digit
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.)
Expired - Fee Related
Application number
JP2173704A
Other languages
English (en)
Other versions
JPH0462631A (ja
Inventor
進 小野寺
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.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
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 KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、演算制御装置に係り、詳しくは不要なゼロ
列を排除するゼロサプレス(zero suppress)を行なう
演算制御装置に関する。
[従来の技術] 計算機で取り扱う情報の最小単位は、ビットで2進数
の1桁に対応する。10進数は4ビットで符号化される
が、文字や記号を含めると6ビットまたは8ビット(1
バイト)必要となる。1字または1バイトに1桁の10進
数を入れた状態を、ゾーン形式(zoned format)または
アンパック形式(unpacked format)と呼ぶのに対し、
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)に示す桁数の数値となる。ま
た、第10図(A)に示す数値は上位側にゼロサプレスさ
れるゼロ列はなく、下位側がゼロサプレスされて第10図
(B)に示すように6桁の数値となる。
上述したように、従来は1byte単位(2桁づつ)で読
み出して0になるかどうかを判別するか又は1桁ずつ読
み出して無効であると判断してゼロサプレスし、0でな
い段階がきたところでそれを有効なものと扱うようにし
ている。
[発明が解決しようとする課題] しかしながら、このような従来のゼロサプレスを行な
う演算制御装置にあっては、ある単位で数値を記憶させ
た場合はその単位で読み出してゼロサプレスを行なうよ
うになっていたため、1byte単位(2桁ずつ)読み出し
てゼロサプレス行なうものは1byte単位でゼロサプレス
を行なうことから処理は速いものの、そして1byte中に
ゼロサプレスされるべきゼロ列があってもこれを排除す
ることができない(第9図(A)ア、イ部分および第10
図(A)ウ部分参照)。また、1桁単位でゼロサプレス
を行なうものではゼロサプレスは殆ど完全に行なうこと
ができるが、1桁づつチェックしていくために多大の時
間を要してしまうという欠点があった。
何れにしても、パック形式における演算結果のゼロサ
プレス行なうとき、読み出した1バイト単位または桁単
位でゼロ列を見つける態様となっていることから、前者
にあってはゼロサプレスが不十分の場合のために余計な
転送や演算が追加されるための時間的な無駄が生じ、ま
た、後者にあってはチェック時間の短縮化が図れない。
してみれば、ゼロサプレスする際の読み出しの単位を
適当な桁数とし、その桁数を更に分けて一括してチェッ
クするようにすれば、1バイト単位又は桁単位でゼロサ
プレスする従来の演算制御装置のそれぞれの長所を活か
すことができることは明らかである。
本発明の課題は、ゼロサプレスの効率を高め、ゼロサ
プレス処理を高速化できるようにすることである。
[課題を解決するための手段] 本発明の手段は次の通りである。
第1の読出手段1(第1図の機能ブロック図を参照、
以下同じ)は、所定の数値データ構造により指数表現の
数値データを記憶したRAM等からアドレス指定により対
象数値の最上位桁から2n桁単位でデータを読み出すもの
でアドレスバス、アドレスレジスタ等である。
第2の読出手段2は、対象数値の最下位桁から2n桁単
位でデータを読み出すものでアドレスバス、アドレスレ
ジスタ等である。
ゼロ検出手段3は、第1の読出手段1若しくは第2読
出手段2から読み出されたデータの上位n桁のゼロを検
出する第1の検出器3a(例えば、NOR回路)、下位n桁
のゼロを検出する第2の検出器3b(例えば、NOR回
路)、両検出器3a,3bが共にゼロを検出したことを検出
する第3の検出器3c(例えば、AND回路)である。
第1のゼロサプレス手段4は、第3の検出器3cによる
ゼロ検出の際、読み出された2n桁のデータを対象数値か
らゼロサプレスするもので、例えばCPUにより実行され
る。
第2のゼロサプレス手段5は、第3の検出器3cによる
ゼロ検出がなく、第1の検出器3cによるゼロ検出があっ
た際に、読み出された2n桁のデータのうち上位n桁をゼ
ロサプレスするもので、例えばCPUにより実行される。
第3のゼロサプレス手段6は、第3の検出器3cによる
ゼロ検出がなく、第2の検出器3bによるゼロ検出があっ
た際に、読み出された2n桁のデータのうちの下位n桁を
ゼロサプレスするもので、例えばCPUにより実行され
る。
[作用] 本発明の手段の作用は次の通りである。
第1の読出手段1および第2の読出手段2により、対
象数値の最上位桁から2n桁単位データおよび対象数値の
最下位桁から2n桁単位データが読み出されると、第1の
検出器3aおよび第2の検出器3bにより読み出されたデー
タの上位n桁、下位n桁のゼロが検出される。また、第
3の検出器3cによって第1の検出器3a、第2の検出器3b
が共にゼロであることが検出される。これにより、上位
下位合わせた複数桁単位の数値がゼロであることが検出
される。そして、ゼロサプレス手段4〜6は複数桁、上
位桁、下位桁のゼロ検出結果に基づいて一括してゼロサ
プレスを実行する。
具体的には、第3の検出器3cによるゼロ検出の際に読
み出された2n桁のデータが対象数値からゼロサプレスさ
れ、また、第3の検出器3cによるゼロ検出がなく、第1
の検出器3aによるゼロ検出があった際に、読み出された
2nのデータのうちの上位n桁がゼロサプレスされ、第3
の検出器3cによるゼロ検出がなく、第2の検出器3bによ
るゼロ検出があった際に、読み出された2n桁のデータの
うちの下位n桁がゼロサプレスされる。
従って、2n桁のデータが対象数値からゼロサプレスさ
れるのと同時に上位および下位に分けられたn桁のデー
タもゼロサプレスされる。その結果、2n桁単位でチェッ
クされることからゼロサプレス処理が高速化される一
方、n桁単位でチェックされることから2n桁単位中にあ
るゼロ列ができる限り排除されてゼロサプレス処理の実
効が図られる。
[実施例] 以下、第2図〜第7図を参照して実施例を説明する。
第2図〜第7図は演算制御装置の一実施例を示す図で
ある。
まず、構成を説明する。第2図は演算値のゼロサプレ
スを行なう演算制御装置11構成を示すブロック図であ
り、この図において、演算制御装置11は、第4図(A)
示すデータ形式による指数表現の数値データの演算を行
なう演算部21と、所定のデータ形式に変換された後の数
値データおよび演算の結果値等を記憶する16bitメモリ2
2と、数値データの指数値を格納する指数レジスタ23
と、後述する制御部28からの命令により16bitメモリ22
のアドレス指示をするアドレスレジスタ24と、16bitメ
モリ22から読み出された数値データが上位4桁づつワー
ド単位(2バイト、4桁)で入力され、そのNORをとっ
た値“b"を制御部28(後述)およびAND回路27に出力す
るNOR回路25と、16bitメモリ22から読み出された数値デ
ータが下位4桁づつワード単位(2バイト、4桁)で入
力され、そのNORをとった値“c"を制御部28およびAND回
路27に出力するNOR回路26と、NOR回路25,26からの出力
値“b",“c"のAND論理をとり、その値“a"を制御部28に
出力するAND回路27と、データバス12および16bitのアド
レスバス13を介して上記各回路に接続され、NOR回路25,
26およびAND回路27に出力b,c,aを基に演算結果のゼロサ
プレス処理を行なう制御部28と、により構成されてい
る。
上記NOR回路(第1の検出器)25、NOR回路(第2の検
出器)26およびAND回路(第3の検出器)27は全体とし
てゼロ検出手段31を構成し、制御部28は第1のゼロサプ
レス手段、第2のゼロサプレス手段および第3のゼロサ
プレス手段を構成している。
次に、本実施例の動作を説明する。
第3図は制御部28におけるゼロサプレス処理プログラ
ムを示すフローチャートである。同図中、符号Sn(n=
1,2,‥‥)はフローの各ステップを示している。
本プログラムがスタートすると、先ずステップS1でア
ドレスレジスタ24に先頭アドレスを指定し、ステップS2
で指定された先頭アドレスから16bitのアドレス指定に
よってメモリ22から16bitの数値データ(ここでは仮数
値)を一括して読み出してNOR回路25,26に上位桁から4
桁ずつ入力する。
ステップS32では、上位桁をチェックするNOR回路25の
出力bおよび下位桁をチェックするNOR回路26の出力c
と、その出力b,cを基に16bit出力全体をチェックするた
めに設けられたAND回路27の出力aとを判別し、(a=
1,b=1)のときは4桁ともゼロであると判断して全桁
ゼロサプレスするためにステップS4で現在の指数値から
−2した値を指数レジスタ23に格納する。ここで、本実
施例では指数値の基数を“100"にしているから、4桁ず
れるということは1002分の指数をマイナスすることとな
る。次いで、ステップS5で指定された部分のアドレスを
消すことによって2バイト分ゼロサプレスする。この場
合、単位としてはメモリ22から16ビットデータを読み出
しているので全桁に相当するアドレス部分は0をつけて
消す。次いで、ステップS6で次のアドレスにおける実際
のデータについて同様の処理を行なうためにアドレスレ
ジスタ24のアドレスを1つ更新し(アドレス+1→アド
レスレジスタ)、ステップS7でアドレス指定を行なって
ステップS2に戻る。かかる処理を繰り返した段階で、ス
テップS2〜S7のループを抜けると後述する第5図(A)
に示すように上位16bit単位のゼロサプレスが一度に終
了した状態となる。
一方、ステップS3で(a=0,b=1)のときは上位桁
だけがゼロになった場合であるから、上位2桁のゼロサ
プレスをするためにステップS8で指数値から−1した値
を数値レジスタ23に格納し、ステップS9で上位1バイト
分ゼロサプレスを行なってステップS10に進む。これに
より、16bit単位ではゼロサプレスされなかった16bit単
位中の上位のゼロ列がゼロサプレスされる(第6図
(A)ア参照)。なお、このa,bを判別すると上位のゼ
ロサプレスを行なうか否かが判別できるが、上位に関し
てa,bの値がa=1,b=0になることはあり得ない。
一方、ステップS3で(a=0,b=0)のときはNOR回路
25,26に基づく出力a,bが何れも0であり、従ってゼロサ
プレスの必要がない(換言すればゼロサプレスできな
い)場合であるから、ステップS10に進み、ステップS10
で下位からゼロサプレスを行なうために最終アドレスを
指定し、ステップS11で指定された最終アドレスから16b
itの数値データを読み出してNOR回路25,26に上位桁から
4桁ずつ入力する。
ステップS12では、上位桁をチェックするNOR回路25の
出力bおよび下位桁をチェックするNOR回路26の出力c
と、その出力b,cを基に作成されたAND回路27の出力aと
を判別し、(a=1,c=1)のときは下位側の4桁とも
ゼロであると判断して全桁ゼロサプレスするためにステ
ップS13で指定された部分のアドレスを消すことによっ
て2バイト分ゼロサプレスする。この場合、下位側のゼ
ロサプレスであるため指数値の変更はない。次いで、ス
テップS14で次のアドレスにおける実際のデータについ
て同様の処理を行なうためにアドレスレジスタ24のアド
レスを1つ更新し(アドレス+1→アドレスレジス
タ)、ステップS15でアドレス指定を行なってステップS
11に戻る。かかる処理を繰り返した段階で、ステップS1
1〜S15のループを抜けると後述する第6図(A)および
第7図(A)に示すように下位16bit単位のゼロサプレ
スが一括して排除される。
一方、ステップS12で(a=0,c=1)のときは上位桁
だけがゼロになった場合であるから、上位2桁のゼロサ
プレスをするためにステップS16で下位1バイト分ゼロ
サプレスを行なって今回の処理を終了する。また、ステ
ップS12で(a=0,c=0)のときはゼロサプレスの必要
がない(換言すればゼロサプレスできない)場合である
から、そのまま処理を終える。従って、16bit単位では
ゼロサプレスしきれなかった16bit単位中の下位のゼロ
列がゼロサプレスされる(第6図(A)および第7図
(A)参照)。
上記プログラムを実行することによりパック形式の演
算の結果値は高速かつ効率よくゼロサプレスされ、ゼロ
サプレスを行なった桁数によりパック値の一部である指
数部の値も確定される。例えば、第4図(A)に示すよ
うに先頭に符号、その後に指数値、仮数値をもつ指数表
現のパック形式に適用した場合、数値データの基数が
“100"であるとすると、数値123456,123はそれぞれ以下
のように指数表現され、その指数値、仮数値は第4図
(B)に示す形式でメモリ22に記憶される。
第4図(B)に示す形式でメモリ22に記憶された数値
の演算(例えば、減算)を行なうとその演算の結果値は
第4図(C)で示される。これにより、上位側にゼロ列
が生じることからゼロサプレスが必要になり、第3図に
示したプログラムによってゼロサプレス処理を実行する
と第4図(D)に示すように16bit分のゼロ列が排除さ
れる。なお、この例では16bit単位のチェック(第3図
のステップS2〜S7およびS11〜S15処理参照)ではゼロサ
プレスできないが、1byte単位のチェック(第3図のス
テップS9およびS16参照)で1byteずつゼロ列を排除で
き、結果として16bit分(2バイト)のゼロサプレスが
実現できる。従って、従来16bit単位でゼロサプレスを
行なっていた場合にはできなかった16bit単位中のゼロ
サプレスが可能になる。また、この場合、単純に1byte
単位だけでチェックするものではなく、16bit単位のゼ
ロ列は直ちにゼロサプレスされることとなって処理が高
速化される。
第5図〜第7図はゼロサプレス実行した場合の具体例
を説明するための図である。
第5図(A)に示すパック形式の数値は4桁ずつ16bi
t単位でチェックされ、第5図(B)に示すようにアド
レス6の下4ビットまで上位12バイト分ゼロサプレスさ
れる。これに伴って指数部の値も変更される。
第6図(A)に示すパック形式の数値は第6図(B)
に示すように上位1バイト、下位3バイト分がゼロサプ
レスされ、指数値も変更される。ここで、従来の16bit
単位(4桁)でチェックするものでは第6図(B)アお
よびイに示す部分のゼロ列を排除することができなかっ
たが、本実施例では16bit単位でチェックしながらも上
記ア、イ部分のゼロ列を排除することができ、高速性を
維持しつつ効率の良いゼロサプレスが実現できる。
同様に、第7図(A)に示すパック形式の数値にあっ
ても最終桁から16bit単位でゼロサプレスされるととも
に、第7図(B)アの部分がゼロサプレスされ、1バイ
ト単位で少しでも多くゼロ列が排除される。
以上述べたように、本実施例ではNOR回路25,26で上位
桁、下位桁のゼロを検出するとともに、AND回路27で全
桁(16bit単位)のゼロを検出し、これらの検出結果に
基づいて16bit単位でかつその上位、下位1byte単位でゼ
ロサプレス処理を行なっているので、ゼロサプレス処理
を高速化でき、また、ゼロ列を残すことなく完全に行な
うことができるから従来必要とされたデータ転送や演
算、レジスタ等が不要となり処理の効率化・高速化が図
られる。
なお、本実施例では複数桁(2n)のデータを16bit単
位(4桁)としその上位桁、下位桁(n)を1byte(2
桁)としているが、数値データから複数桁(2n)のデー
タを抽出しそれを上位桁、下位桁(n)に分けてチェッ
クするものであれば16bit単位、1byte単位に限定されな
いのは言うまでもない。
また、本実施例では数値データを指数表現した仮数値
に適用した例であるが、指数表現にしない数値データに
ももちろん適用することができる。また、本実施例では
指数値の基数を“100"にしているが、これに限らず、一
般の指数表現(仮数×10m)のように基数を“10"にして
もよい。
[発明の効果] 本発明によれば、数値データをゼロサプレスする際、
複数桁単位に読み出し、全桁ゼロ、上位のみゼロ、下位
のみゼロを一括してゼロサプレスするようにしているの
で、ゼロサプレス処理の高速化を図ることができる。
【図面の簡単な説明】
第1図は本発明の機能ブロック図、第2図〜第7図は演
算制御装置の一実施例を示す図であり、第2図はその演
算制御装置のブロック構成図、第3図はそのゼロサプレ
ス処理プログラムを示すフローチャート、第4図はその
ゼロサプレス処理を説明するための図、第5図〜第7図
はそのゼロサプレス例を示す図、第8図〜第10図は従来
のゼロサプレス例を示す図である。 11……演算制御装置、12……データバス、13……アドレ
スバス、21……演算部、22……16bitメモリ、24……ア
ドレスレジスタ、25……NOR回路(第1の検出器)、26
……NOR回路(第2の検出器)、27……AND回路(第3の
検出器)、28……制御部(第1のゼロサプレス手段、第
2のゼロサプレス手段、第3のゼロサプレス手段)、31
……ゼロ検出手段。

Claims (1)

    (57)【特許請求の範囲】
  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 JPH0462631A (ja) 1992-02-27
JP2985093B2 true 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
JPH0462631A (ja) 1992-02-27

Similar Documents

Publication Publication Date Title
EP0221577B1 (en) Microprogram control unit
US4251864A (en) Apparatus and method in a data processing system for manipulation of signal groups having boundaries not coinciding with boundaries of signal group storage space
JPH0145649B2 (ja)
JPH0113130B2 (ja)
JPH022171B2 (ja)
JPH0786826B2 (ja) 整数除算回路
JP3369204B2 (ja) プログラマブルコントローラ
US3346727A (en) Justification of operands in an arithmetic unit
JP2985093B2 (ja) 演算制御装置
US4942547A (en) Multiprocessors on a single semiconductor chip
CN115357216A (zh) 数据处理方法、介质、电子设备和程序产品
JPH034936B2 (ja)
JP2748957B2 (ja) データ処理装置
JP2504847B2 (ja) 10進デ―タのチェック回路
US6240540B1 (en) Cyclic redundancy check in a computer system
JPS5917457B2 (ja) 2進化10進訂正装置
CA1257706A (en) Multiprocessors on a single semiconductor chip
JPS642970B2 (ja)
JPS6230455B2 (ja)
JPH0778723B2 (ja) 情報処理装置
JPS61188624A (ja) 固定小数点演算装置
JP2624738B2 (ja) 丸め処理方式
JPS59174942A (ja) 演算制御装置
JP3522387B2 (ja) パイプライン演算装置
JPH0512821Y2 (ja)

Legal Events

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