JPS6256536B2 - - Google Patents

Info

Publication number
JPS6256536B2
JPS6256536B2 JP57159719A JP15971982A JPS6256536B2 JP S6256536 B2 JPS6256536 B2 JP S6256536B2 JP 57159719 A JP57159719 A JP 57159719A JP 15971982 A JP15971982 A JP 15971982A JP S6256536 B2 JPS6256536 B2 JP S6256536B2
Authority
JP
Japan
Prior art keywords
value
numerator
intermediate result
associative memory
storing
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
Application number
JP57159719A
Other languages
English (en)
Other versions
JPS5862746A (ja
Inventor
Aran Ianyutsushi Robaato
Rei Kureinsutaibaa Jeemuzu
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5862746A publication Critical patent/JPS5862746A/ja
Publication of JPS6256536B2 publication Critical patent/JPS6256536B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4915Multiplying; Dividing
    • G06F7/4917Dividing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division

Landscapes

  • Engineering & Computer Science (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)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
本発明はデジタル・プロセツサによつて実行さ
れる演算機能に関するものであり、具体的には割
算機能を実行するための改良された装置に関す
る。更に具体的に言えば、本発明はアソシエイテ
ブ・メモリを用いてマルチビツト動作、詳しくは
1度に1つの16進(ヘキサデシマル)数(4ビツ
ト)又はEBCD形の1つの10進(デシマル)数の
マルチビツト動作を行う割算装置に関する。 先行技術 マルチビツト割算装置は例えば米国特許第
3684879号によつて知られている。しかし半分ず
つ16進数を割算するための構成を設けうるか或い
は設けるべきかについては明らかでない。それば
かりか割算装置にアソシエイテブ・メモリを使う
ことを開示した先行技術は1つも無く、その概念
を10進数にまで拡大したものも無い。 本発明 本発明は2つの任意長演算の割算が1度に1つ
の16進数(4ビツト)又はEBCD10進数で実行さ
れる演算機能を行なう装置を提供する。「数」割
算を達成する上での基本的な困難は、分母の倍数
である数が分子又は中間結果よりも小さいか又は
等しくなるように、分母に乗じられるべき適正な
数値を見つけることが問題であることである。 所望の結果を与えるための新規な方法は以下の
ステツプより成る。分母値の整数倍、例えば
X1、X2、…倍の値の倍数表を作るステツプ。そ
の倍数表を通常の読み書きアレイのような記憶装
置に記憶するステツプ。この表の最上位有効バイ
トをアソシエイテブ・アレイ又は内容アドレス可
能メモリに記憶するステツプ。次のステツプは分
子(又は中間結果)の最上位有効バイトを各アソ
シエイテブ・メモリ項目の内容と比較することを
含む。各比較に対してフラグが発生されて、対応
する項目は分子の最上位有効バイトよりも小さい
か或いは等しいことを知らせる。最後のフラグが
オンにセツトされることによつて示された最高倍
数値に基づいて、そのときの倍数、即ち「出力数
値」が選ばれる。次のステツプはかくて選ばれた
倍数値を分子又は中間結果から引算することを含
む。次のステツプは下位桁あふれ(アンダーフロ
ー)が存在するか否かを判定することである。若
しも存在しないならば次のステツプは「出力数
値」を部分商として記憶して、次の繰返しへ進
む。若しも下位桁あふれが存在するならば、「出
力数値」が1だけ減算されて記憶される。そして
次の繰返しへ進む前に、X1倍数値が分子又は中
間結果に加えられる。 数値9乃至F(16進)、又は6乃至9(10進)
によつて割算するには2つの異なつた方法があ
る。第1の方法では、倍数表がX9乃至XF(又は
X6乃至X9)を含むように拡張されると共にそれ
に伴つてアソシエイテブ・メモリが拡張される。
この方法は、余分な倍数が発生され且つロード
(装填)されなければならないので、ハードウエ
アと時間の点でコスト高である。第2のより良い
方法は、項目X1乃至X8(10進ではX1乃至X5)の
ための表及びアレイのスペースだけを用意するこ
と、及び分子又は中間結果の数値がX8項目(10
進ではX5)よりも大きい事態に遭遇したとき回
路が同じ分子又は中間結果に対して2回の処理が
なされるように強制する制御を用意することであ
る。例えば16進数に対して、若しも第1の処理で
数値8を結果として生じ、そして第2の処理で数
値3を結果として生じたならば、結果の「出力数
値」は8+3即ち11(16進表示ではB)に等し
い。 この新規な割算を実行する装置は倍数表を収容
するための読み書きアレイを含み、それは演算論
理装置(ALU)の1つの入力へ接続される。左
シフト器を介するALUの他の入力は分子又は中
間結果を保持するレジスタを形成する。ALUの
出力は最上位有効バイトの値と共にアソシエイテ
ブ・メモリへ供給されて、アソシエイテブ・メモ
リの出力を選択するように働く。関連するフラグ
のアドレスはアソシエイテブ・メモリから読み書
きアレイへ供給されて適切な倍数を選択するよう
に働く。X8フラグは「出力数値」を表示するた
め、フラグ値と共に適切なものとしてその出力へ
接続される。 実施例の説明 本発明に従つて2つの16進数又は2つの10進数
の割算を実行する方法は下記のステツプを含む。 (1) 分母の倍数の表を作り、この表を読み書きメ
モリに記憶する。 (2) 記憶内容をアドレスしうるメモリ又はアソシ
エイテブ・メモリ中に表の各項目の最上位有効
バイトを記憶する。 (3) 分子(又は中間結果)の最上位有効バイトを
アソシエイテブ・メモリの各項目の内容と比較
する。 (4) 分子又は中間結果の最上位有効バイトよりも
小さいか又は等しい項目に対しフラグを発生す
る。第1表参照。第1表 この表は本発明の実施例に用いられるアソシ
エイテブ・メモリの記憶項目を作表したもので
ある。 最上位有効バイト(分母X1)最上位有効バイ
ト分子=フラグ1 最上位有効バイト(分母X2)最上位有効バイ
ト分子=フラグ2 最上位有効バイト(分母X3)最上位有効バイ
ト分子=フラグ3 最上位有効バイト(分母X4)最上位有効バイ
ト分子=フラグ4 最上位有効バイト(分母X5)最上位有効バイ
ト分子=フラグ5 最上位有効バイト(分母X6)最上位有効バイ
ト分子=フラグ6 最上位有効バイト(分母X7)最上位有効バイ
ト分子=フラグ7 最上位有効バイト(分母X8)最上位有効バイ
ト分子=フラグ8 (5) オンになつている最後のフラグのアドレスを
選択する。これは出力数値の値を与える。 (6) この数値を使用して表の倍数をアドレスし、
選択された値を読出す。 (7) この値を分子又は中間結果から減算する。 (8) 若しも下位桁あふれが無くしかも選択された
デジツトがX8、(10進ではX5)であるならば、
第2の処理が行なわれる。 即ち処理がステツプ(3)に戻つて同じ数値で処
理が続けられ、商の下位桁数値として記憶され
る前にその数値に8が加算される(10進では5
が加算される)。 (9) 若しも下位桁あふれが無く、しかも選択され
た数値がX8、(10進ではX5)でないならば、そ
の数値は有効であり、商の下位桁数値として記
憶される。 (10) 若しも下位桁あふれが有るならば、数値を1
だけ減数し、その減数された値を記憶する。第
2表は下位桁あふれの有無に対する起きうる条
件を示す。X1倍数を分子又は中間結果に加算
する。
【表】 (11) 分子又は中間結果を1数値位置だけ左へシフ
トする。 (12) ステツプ(3)で始まる次の繰返しを行なう。こ
の方法の16進の例は下記の通りである。分子は
0.36B90C。分母は0.12EE14。
【表】 〓〓
表中の下線部分のバイトはアソシエイテブ・メ
モリ中にロード(装填)されるバイトである。下
記の実例に於て、上線が付された部分のバイトは
アソシエイテブ・メモリで比較のために使用され
る最上位有効バイトである。この実例に対する処
理順序が下記に示される。
【表】 度。


0007E1A0
8 |− X0 00000000 2回目の処理

果。X1より小。

Claims (1)

  1. 【特許請求の範囲】 1 分母値に対して1から始まる整数である倍数
    を乗じて複数個の倍数値を発生する手段と、上記
    手段によつて発生された倍数値を上記倍数に関係
    づけた倍数表として記憶する第1の装置と、 記憶内容のアドレス可能なアソシエイテブ・メ
    モリ装置と、 上記手段によつて発生された倍数値の最上位有
    効バイトを上記アソシエイテブ・メモリ装置に記
    憶させるための手段と、 分子値又は中間結果値の最上位有効バイトを記
    憶する装置と、 分子値又は中間結果値の上記最上位有効バイト
    をアソシエイテブ・メモリ装置中の各記憶項目と
    順次に比較し、その分子値又は中間結果値の最上
    位有効バイトよりも小さいか又は等しい記憶項目
    を見出してその記憶項目と関連づけられたフラグ
    を発生して上記アソシエイテブ・メモリ装置中に
    記憶させる手段と、 発生された最後のフラグを検出する手段と、 上記最後のフラグに応答して、そのフラグ記憶
    位置に対応する倍数及び倍数値を上記第1の記憶
    装置から取出す手段と、 上記取出された倍数値を分子値又は中間結果値
    から減算し且つ上記倍数を部分商として記憶させ
    るように制御する手段と、 上記減算により下位桁あふれが生じるか否かを
    判定する手段と、 若しも下位桁あふれが生じるならば上記部分商
    から1だけ減算して記憶させると共に、上記分母
    値の1倍に担当する倍数値を上記分子値又は中間
    結果値に戻し加算するように制御する手段と、 分子値又は中間結果値を左へシフトして次の繰
    返しへ進める手段と、 を含む割算装置。
JP57159719A 1981-09-25 1982-09-16 割算装置 Granted JPS5862746A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/305,765 US4466077A (en) 1981-09-25 1981-09-25 Method and apparatus for division employing associative memory
US305765 1999-05-05

Publications (2)

Publication Number Publication Date
JPS5862746A JPS5862746A (ja) 1983-04-14
JPS6256536B2 true JPS6256536B2 (ja) 1987-11-26

Family

ID=23182244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57159719A Granted JPS5862746A (ja) 1981-09-25 1982-09-16 割算装置

Country Status (4)

Country Link
US (1) US4466077A (ja)
EP (1) EP0075745B1 (ja)
JP (1) JPS5862746A (ja)
DE (1) DE3277787D1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688186A (en) * 1982-10-04 1987-08-18 Honeywell Bull Inc. Division by a constant by iterative table lookup
JPS5987543A (ja) * 1982-11-09 1984-05-21 Hitachi Ltd 2進化10進数除算方式
JPS60101640A (ja) * 1983-11-07 1985-06-05 Hitachi Ltd 10進除算装置
JPS6211937A (ja) * 1985-07-10 1987-01-20 Hitachi Ltd 高速剰余計算装置
US4817048A (en) * 1986-08-11 1989-03-28 Amdahl Corporation Divider with quotient digit prediction
JPS63245518A (ja) * 1987-03-31 1988-10-12 Toshiba Corp 除算演算装置
JP2609630B2 (ja) * 1987-09-26 1997-05-14 株式会社東芝 除算器及び除算方法
US5307303A (en) * 1989-07-07 1994-04-26 Cyrix Corporation Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5046038A (en) * 1989-07-07 1991-09-03 Cyrix Corporation Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5297073A (en) * 1992-08-19 1994-03-22 Nec Electronics, Inc. Integer divide using shift and subtract
US6735610B1 (en) 1999-04-29 2004-05-11 Walter E. Pelton Apparatus, methods, and computer program products for determining the coefficients of a function with decreased latency
US6604121B1 (en) * 1999-05-07 2003-08-05 Seagate Technology Llc Digital division device and method using a reduced-sized lookup table
US6922712B2 (en) 2000-02-26 2005-07-26 Walter E. Pelton Apparatus, methods, and computer program products for accurately determining the coefficients of a function
US6952710B2 (en) 2000-06-09 2005-10-04 Walter Eugene Pelton Apparatus, methods and computer program products for performing high speed division calculations
AU2001268309A1 (en) 2000-06-09 2001-12-17 Walter E Pelton Methods for reducing the number of computations in a discrete fourier transform
US8510596B1 (en) 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
JP5509839B2 (ja) * 2009-12-22 2014-06-04 富士通株式会社 通信装置、受信データ長判定方法、倍数判定回路及び受信データ長判定プログラム
WO2015038944A1 (en) 2013-09-12 2015-03-19 Virsec Systems, Inc. Automated runtime detection of malware
CN107077412B (zh) 2014-06-24 2022-04-08 弗塞克系统公司 单层或n层应用的自动化根本原因分析
US10354074B2 (en) 2014-06-24 2019-07-16 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
US9686382B2 (en) 2014-08-04 2017-06-20 Honeywell International Inc. Double decoder system for decoding overlapping aircraft surveillance signals
EP3472746B1 (en) 2016-06-16 2020-05-13 Virsec Systems, Inc. Systems and methods for remediating memory corruption in a computer application

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3293418A (en) * 1964-07-08 1966-12-20 Control Data Corp High speed divider
US3641331A (en) * 1969-11-12 1972-02-08 Honeywell Inc Apparatus for performing arithmetic operations on numbers using a multiple generating and storage technique
US3684879A (en) * 1970-09-09 1972-08-15 Sperry Rand Corp Division utilizing multiples of the divisor stored in an addressable memory
US3736413A (en) * 1971-03-15 1973-05-29 Programmatics Inc Pre-conditioned divisor trial quotient divider
US3852581A (en) * 1972-12-14 1974-12-03 Burroughs Corp Two bit binary divider
JPS5311179A (en) * 1976-07-19 1978-02-01 Hitachi Ltd Fluorescent substance
JPS5578340A (en) * 1978-12-09 1980-06-12 Casio Comput Co Ltd Division system

Also Published As

Publication number Publication date
JPS5862746A (ja) 1983-04-14
EP0075745B1 (en) 1987-12-02
EP0075745A3 (en) 1985-12-18
DE3277787D1 (en) 1988-01-14
EP0075745A2 (en) 1983-04-06
US4466077A (en) 1984-08-14

Similar Documents

Publication Publication Date Title
JPS6256536B2 (ja)
EP0158530B1 (en) Nonrestoring divider
KR920008280B1 (ko) 집적 프로세서
US4390961A (en) Data processor performing a decimal multiply operation using a read only memory
US4384340A (en) Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions
US4484300A (en) Data processor having units carry and tens carry apparatus supporting a decimal multiply operation
US4426680A (en) Data processor using read only memories for optimizing main memory access and identifying the starting position of an operand
EP0173040A2 (en) Vector processing system
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
US4423483A (en) Data processor using a read only memory for selecting a part of a register into which data is written
US5317531A (en) Apparatus for reducing the size of an arithmetic and logic unit necessary to practice non-restore division
US5822609A (en) Processing circuit for performing a convolution computation
JP3638218B2 (ja) シフト機能付きalu命令を持つマイクロプロセッサ
EP0055128B1 (en) Data processing system
JP2624738B2 (ja) 丸め処理方式
JP2552087B2 (ja) 10進乗算処理装置
JPS60108932A (ja) 十進演算処理装置
US4141077A (en) Method for dividing two numbers and device for effecting same
JPH0434191B2 (ja)
JP2605792B2 (ja) 演算処理装置
JPS6016650B2 (ja) 除算装置
JP3068640B2 (ja) 計算装置
JP2674747B2 (ja) シグナル・プロセツサ
JPH04314126A (ja) 逆数発生装置
JPS6136677B2 (ja)