JP3122622B2 - Division device - Google Patents

Division device

Info

Publication number
JP3122622B2
JP3122622B2 JP08325524A JP32552496A JP3122622B2 JP 3122622 B2 JP3122622 B2 JP 3122622B2 JP 08325524 A JP08325524 A JP 08325524A JP 32552496 A JP32552496 A JP 32552496A JP 3122622 B2 JP3122622 B2 JP 3122622B2
Authority
JP
Japan
Prior art keywords
data
subtraction
output
result
bit
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
JP08325524A
Other languages
Japanese (ja)
Other versions
JPH09269892A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP08325524A priority Critical patent/JP3122622B2/en
Publication of JPH09269892A publication Critical patent/JPH09269892A/en
Application granted granted Critical
Publication of JP3122622B2 publication Critical patent/JP3122622B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はディジタル演算装置
の中で、正規化された除数データと被除数データを入力
として除算を実行し、1サイクルごとに2ビットの部分
商を生成する除算装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital arithmetic unit which performs a division by inputting normalized divisor data and dividend data and generates a 2-bit partial quotient per cycle. It is.

【0002】[0002]

【従来の技術】近年、半導体技術の進展に伴い、数百万
を越えるトランジスタが1チップの中に集積することが
可能となっており、非常に複雑な演算機能を持つブロッ
クを1つのVLSIの中に数多く内蔵することが常識と
なっている。ディジタル演算装置においても、固定小数
点加算器、減算器、乗算器、除算器、論理演算器、さら
に、浮動小数点加算器、減算器、乗算器、除算器等が内
蔵されるようになってきた。また、集積度のみならず、
速度の面においても技術の進展は著しく、ますます高速
化が進んできている。これらディジタル演算装置の中
で、VLSIに内蔵される除算装置の方式は、大きく分
けて2つのタイプに分類される。ひとつは、繰り返し乗
算による収束型除算と、もうひとつは、減算器をベース
にした減算シフト型除算である。前者は、乗算器を使用
するため、乗算器が内蔵されている場合には、ハードウ
エアコストをほとんど増やすことなく実現できるもの
の、高速化の点において難点がある。また、乗算器が内
蔵されていない場合には、除算用に乗算器が必要となる
ため、ハードウエアコストの面でも問題となる。後者
は、ハードウエアを増やすことによって、ある程度は、
速度向上を図ることが可能であるが、単純には、速度向
上できない。減算シフト型の除算装置は、Kai Hwang 著
「Computer Arithmetic Principles, Architectures, a
nd Design 」に記載されている。
2. Description of the Related Art In recent years, with the development of semiconductor technology, more than several million transistors can be integrated in one chip, and a block having a very complicated arithmetic function can be integrated into one VLSI. It is common sense to incorporate many inside. Digital arithmetic devices have come to include fixed-point adders, subtractors, multipliers, dividers, logical operators, and floating-point adders, subtractors, multipliers, dividers, and the like. In addition, not only the degree of integration,
In terms of speed, the technology has been remarkably advanced, and the speed has been further increased. Among these digital arithmetic devices, the systems of the dividing devices built in the VLSI are roughly classified into two types. One is a convergence type division by iterative multiplication, and the other is a subtraction shift type division based on a subtractor. The former uses a multiplier, so if the multiplier is built-in, it can be realized with almost no increase in hardware cost, but has a drawback in terms of speeding up. Further, when a multiplier is not built in, a multiplier is required for division, which causes a problem in hardware cost. The latter, to some extent, by adding hardware,
It is possible to improve the speed, but simply cannot increase the speed. The subtraction-shift type divider is described in Computer Arithmetic Principles, Architectures, a.
nd Design ".

【0003】[0003]

【発明が解決しようとする課題】本発明の目的は、高速
の除算装置を提供することである。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a high-speed divider.

【0004】本発明の別の目的は、クリティカルパスの
経路をより単純な経路に簡略化させて、遅延時間を削減
することにより、除算演算を高速に実行する除算装置を
提供することである。
Another object of the present invention is to provide a division device that executes a division operation at high speed by reducing the delay time by simplifying the path of the critical path to a simpler path.

【0005】[0005]

【課題を解決するための手段】上記問題点を解決するた
めに本発明の除算装置は、正規化された被除数データと
除数データを入力として除算を実行し、1サイクルごと
に2ビットの部分商を生成する除算装置であって、前記
被除数データと部分剰余データとを入力データとして選
択的にデータを保持する第1のデータ保持手段と、前記
除数データを入力としてデータを保持する第2のデータ
保持手段と、前記第1のデータ保持手段から出力された
データから前記第2のデータ保持手段から出力されたデ
ータを減算して結果を出力する第1の減算手段と、前記
第1のデータ保持手段から出力されたデータの上位Nビ
ットと前記第2のデータ保持手段から出力されたデータ
の上位Nビットを入力として比較結果を出力する比較手
段と、前記第1の減算手段から出力されたデータと前記
第1のデータ保持手段から出力されたデータを入力とし
て前記比較手段の比較結果に応じて選択的に1ビット左
シフトして出力する第1の選択手段と、前記第1の選択
手段からの出力に、前記第1の減算手段で実行された減
算結果と前記比較手段から出力される比較結果とを入力
として生成した任意の信号を付加して出力するデータ生
成手段と、前記データ生成手段から出力されたデータか
ら前記第2のデータ保持手段から出力されたデータを減
算して結果を出力する第2の減算手段と、前記第1の減
算手段から出力されたデータと前記第1のデータ保持手
段から出力されたデータをデータ入力として前記第1の
減算手段の減算結果に応じて選択的に2ビット左シフト
して出力する第2の選択手段と、前記第2の減算手段か
ら出力されたデータを1ビット左シフトしたデータと前
記第2の選択手段から出力されたデータをデータ入力と
して前記第1または第2の減算手段の減算結果に応じて
選択的に部分剰余データとして出力する第3の選択手段
という構成を備えたものである。
SUMMARY OF THE INVENTION In order to solve the above-mentioned problems, a division apparatus according to the present invention executes division by inputting normalized dividend data and divisor data, and performs a 2-bit partial quotient every cycle. A first data holding means for selectively holding data as the dividend data and the partial remainder data as input data, and a second data holding the data as input to the divisor data. Holding means; first subtraction means for subtracting the data output from the second data holding means from the data output from the first data holding means and outputting a result; and the first data holding means. Comparing means for inputting the upper N bits of data output from the means and the upper N bits of data output from the second data holding means and outputting a comparison result; First selection means for selectively shifting left by one bit and outputting the data output from the calculation means and the data output from the first data holding means according to the comparison result of the comparison means; Data generation for adding an arbitrary signal generated by using the result of the subtraction performed by the first subtraction means and the comparison result output from the comparison means as an input to the output from the first selection means, and outputting the signal. Means, second subtraction means for subtracting the data output from the second data holding means from the data output from the data generation means, and outputting the result, and output from the first subtraction means. Second selection means for selectively shifting left by 2 bits and outputting the data and data output from the first data holding means as a data input in accordance with a subtraction result of the first subtraction means; The data output from the second subtraction unit is shifted left by one bit and the data output from the second selection unit are used as data inputs and selectively input according to the result of the subtraction by the first or second subtraction unit. And a third selecting means for outputting as partial remainder data.

【0006】本発明は上記した構成によって、速度を決
定するクリティカルパスが、(第1の減算手段における
減算処理)+(第1の選択手段におけるデータの通過)
+(第2の減算手段における減算処理)+(第3の選択
手段におけるデータの選択)+(第3の選択手段におけ
るデータの通過)と短縮されることとなり、高速な除算
装置が実現できることとなる。
According to the present invention, the critical path for determining the speed is (subtraction processing in the first subtracting means) + (data passing in the first selecting means).
+ (Subtraction processing in the second selection means) + (selection of data in the third selection means) + (passage of data in the third selection means), thereby realizing a high-speed division device. Become.

【0007】[0007]

【発明の実施形態】以下図1を参照しながら、第1実施
例の減算シフト型除算装置の一例について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An example of a subtraction shift type divider according to a first embodiment will be described below with reference to FIG.

【0008】図1は、正規化された除数データと被除数
データを入力として除算を実行し、1サイクルごとに2
ビットの部分商を生成する減算シフト型除算装置の構成
を示すものである。入力データは8ビットのデータ幅を
持つ正規化されたデータで、A[7:0]を被除数入
力、B[7:0]を除数入力とする。被除数入力、除数
入力ともに正規化されているため、最上位ビットA
[7]、B[7]は常に1が入力される。
FIG. 1 shows a case where division is performed by using normalized divisor data and dividend data as inputs, and two divisions are performed every cycle.
1 shows a configuration of a subtraction shift type division device that generates a partial quotient of bits. The input data is normalized data having a data width of 8 bits. A [7: 0] is a dividend input, and B [7: 0] is a divisor input. Since both the dividend input and the divisor input are normalized, the most significant bit A
1 is always input to [7] and B [7].

【0009】図1において、10は前記被除数入力A
[7:0]と部分剰余データを入力として、選択的にデ
ータを保持する第1のデータ保持手段である。データ入
力時には、前記被除数入力A[7:0]を選択的に入力
し、除算実行時には、前記部分剰余データを選択的に入
力し保持する。保持するデータのビット幅として9ビッ
ト幅のデータを保持し、前記被除数入力A[7:0]を
選択的に入力する際には、MSB(Most Sign
ificant Bit)側に1ビットデータ”0”を
付加して9ビット幅のデータを保持する。20は前記除
数入力B[7:0]を保持する第2のデータ保持手段で
あり、MSB側に1ビットデータ”0”を付加して9ビ
ット幅のデータを保持する。除算実行時においても、こ
のデータを保持する。30は第1のデータ保持手段10
から出力されたデータから第2のデータ保持手段20か
ら出力されたデータを減算して結果を出力する第1の減
算手段であり、9ビットの減算器から構成される。ここ
で、第2のデータ保持手段20を8ビット構成とし、前
記第1の減算手段30において、第2のデータ保持手段
20から出力されたデータのMSB側に1ビットデー
タ”0”を付加して減算を実行しても機能的には等価で
ある。51は第1の減算手段30から出力されたデータ
と第1のデータ保持手段10から出力されたデータを入
力として第1の減算手段30の減算結果に応じて選択的
に1ビット左シフトして出力する第1の選択手段であ
る。前記第1の減算手段の減算結果が正あるいは0であ
れば第1の減算手段30から出力されたデータを選択的
に1ビット左シフトして出力し、減算結果が負であれば
第1のデータ保持手段10から出力されたデータを選択
的に1ビット左シフトして出力する。41は第1の選択
手段51から出力されたデータから第2のデータ保持手
段20から出力されたデータを減算して結果を出力する
第2の減算手段であり、9ビットの減算器から構成され
る。61は第2の減算手段41から出力されたデータと
前記第1の選択手段51から出力されたデータを入力と
して、第2の減算手段41の減算結果に応じて選択的に
1ビット左シフトして出力する第2の選択手段である。
前記第2の減算手段41の減算結果が負であれば第1の
データ選択手段51から出力されたデータを選択的に1
ビット左シフトして出力し、それ以外の場合であれば第
2の減算手段41から出力されたデータを選択的に1ビ
ット左シフトして出力する。70は部分商保持回路であ
る。第1の減算手段30で実行された減算結果と第2の
減算手段41で実行された減算結果に応じて生成される
部分商を保持する。第1の減算手段30および第2の減
算手段41それぞれの減算結果が正あるいは0であれば
部分商として1を保持し、負であれば部分商として0を
保持する。前記2つの減算器の結果をもとに、1サイク
ルごとに2ビットづつの部分商が生成保持される。部分
商保持回路70は、2ビット入力のシフトレジスタある
いは入力データ選択機能付きのレジスタによって、容易
に構成することができる。
In FIG. 1, reference numeral 10 denotes the dividend input A.
This is a first data holding unit that selectively holds data with [7: 0] and partial remainder data as inputs. At the time of data input, the dividend input A [7: 0] is selectively input, and at the time of division execution, the partial remainder data is selectively input and held. When 9-bit data is held as the bit width of the data to be held and the dividend input A [7: 0] is selectively input, the MSB (Most Sign) is used.
1-bit data “0” is added to the side of the (Effect Bit) to hold 9-bit data. Reference numeral 20 denotes a second data holding means for holding the divisor input B [7: 0], and holds 9-bit data by adding 1-bit data "0" to the MSB side. This data is retained even at the time of division execution. 30 is the first data holding means 10
This is a first subtraction means for subtracting the data output from the second data holding means 20 from the data output from, and outputting the result, and is constituted by a 9-bit subtractor. Here, the second data holding means 20 has an 8-bit configuration, and the first subtraction means 30 adds 1-bit data "0" to the MSB side of the data output from the second data holding means 20. Even if subtraction is performed, it is functionally equivalent. 51 receives the data output from the first subtraction means 30 and the data output from the first data holding means 10 as inputs and selectively shifts left by one bit in accordance with the subtraction result of the first subtraction means 30. This is a first selecting means for outputting. If the subtraction result of the first subtraction means is positive or 0, the data output from the first subtraction means 30 is selectively shifted left by one bit and output. If the subtraction result is negative, the first data is outputted. The data output from the data holding means 10 is selectively shifted left by one bit and output. Reference numeral 41 denotes second subtraction means for subtracting the data output from the second data holding means 20 from the data output from the first selection means 51 and outputting the result, and comprises a 9-bit subtractor. You. 61 receives the data output from the second subtraction means 41 and the data output from the first selection means 51 as inputs and selectively shifts left by one bit in accordance with the subtraction result of the second subtraction means 41. This is the second selection means for outputting the data.
If the subtraction result of the second subtraction means 41 is negative, the data output from the first data selection means 51 is selectively changed to 1
The data output from the second subtraction means 41 is selectively shifted left by one bit and output in other cases. 70 is a partial quotient holding circuit. It holds a partial quotient generated according to the result of the subtraction performed by the first subtraction means 30 and the result of the subtraction performed by the second subtraction means 41. If the subtraction result of each of the first subtraction means 30 and the second subtraction means 41 is positive or 0, 1 is held as a partial quotient, and if it is negative, 0 is held as a partial quotient. Based on the results of the two subtractors, a partial quotient of two bits is generated and held every cycle. The partial quotient holding circuit 70 can be easily constituted by a 2-bit input shift register or a register having an input data selection function.

【0010】以上のように構成された除算装置につい
て、以下その動作について説明する。
The operation of the above-configured dividing device will be described below.

【0011】まず、被除数入力A[7:0]に正規化さ
れた被除数データが、除数入力B[7:0]に正規化さ
れた除数データが入力される。被除数データおよび除数
データは、ともに正規化されているので、最上位ビット
A[7]、B[7]には、ともにデータ”1”が入力さ
れる。入力されたデータはそれぞれ、第1のデータ保持
手段10と第2のデータ保持手段20に保持され除算の
実行が開始される。1サイクルごとに2ビットの部分商
が生成された後、第2の選択手段61からの出力が部分
剰余データとして第1のデータ保持手段10に入力し保
持される。このサイクルをN回繰り返すことにより、2
Nビットの商を求めることができる。
First, normalized dividend data is input to a dividend input A [7: 0], and normalized divisor data is input to a divisor input B [7: 0]. Since the dividend data and the divisor data are both normalized, data “1” is input to the most significant bits A [7] and B [7]. The input data is held in the first data holding means 10 and the second data holding means 20, respectively, and the execution of division is started. After a 2-bit partial quotient is generated for each cycle, the output from the second selecting means 61 is input to and held in the first data holding means 10 as partial remainder data. By repeating this cycle N times, 2
The quotient of N bits can be obtained.

【0012】さらに、詳細に動作を説明するために、1
サイクル内で生成される部分商の組み合わせ”0
0”、”01”、”10”、”11”ごとに動作を説明
する。第2のデータ保持手段20に保持されている除数
データは、入力されたまま変更されないので、常にビッ
ト[7]は1であるが、第1のデータ保持手段10に保
持されるデータに関しては、部分剰余を取り込むので、
ビット[7]は”1”とは、限らない。さらに、ビット
[8]にデータ”1”が入力される場合もある。
Further, in order to explain the operation in detail, 1
Combination of partial quotients generated in a cycle "0"
The operation will be described for each of 0 "," 01 "," 10 ", and" 11 ". Since the divisor data held in the second data holding means 20 is not changed as it is input, the bit [7] is always used. Is 1, but with respect to the data held in the first data holding means 10, since the partial remainder is taken in,
Bit [7] is not limited to “1”. Further, data "1" may be input to bit [8].

【0013】 1)部分商”00”となる場合の例、 第1の減算手段における被減数入力 000100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 110100000 (−001100000)→負 第1の選択手段出力 001000000 第2の減算手段における被減数入力 001000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 111000000 (−001000000)→負 第2の選択手段出力 010000000 2)部分商”01”となる場合の例、 第1の減算手段における被減数入力 001100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 111100000 (−000100000)→負 第1の選択手段出力 011000000 第2の減算手段における被減数入力 011000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 001000000 (+001000000)→正 第2の選択手段出力 010000000 3)部分商”10”となる場合の例、 第1の減算手段における被減数入力 010100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 000100000 (+000100000)→正 第1の選択手段出力 001000000 第2の減算手段における被減数入力 001000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 111000000 (−001000000)→負 第2の選択手段出力 010000000 4)部分商”11”となる場合の例、 第1の減算手段における被減数入力 011100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 001100000 (+001100000)→正 第1の選択手段出力 011000000 第2の減算手段における被減数入力 011000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 001000000 (+001000000)→正 第2の選択手段出力 010000000 以上のように、第1第2の減算手段30、41における
減算結果に応じて、2ビット部分商が1サイクル内で求
められる。それぞれの減算結果が0になった場合は、演
算結果が正の場合と同様である。
1) An example of a case where the partial quotient is “00”, the minuend input in the first subtraction means 0001000000 The subtraction input in the first subtraction means 010000000 The subtraction result in the first subtraction means 11010000000 (−001100000) → negative 1 selection means output 00100000 The minuend input in the second subtraction means 00100000 The subtraction input in the second subtraction means 010000000 The subtraction result in the second subtraction means 11100000 (-00100000) → negative 2nd selection means output 010000000 2) Partial quotient Example in the case of “01”, the minuend input in the first subtraction means 00111000000 The subtraction input in the first subtraction means 010000000 The subtraction result in the first subtraction means 1111000000 ( 000100000) → negative output of first selecting means 011000000 minuend input in second subtracting means 0110000000 subtractive input in second subtracting means 010000000 subtraction result in second subtracting means 00100000 (+00100000) → positive second selecting means output 010000000 3) Example when partial quotient is "10", minuend input in the first subtraction means 010100000 Subtraction input in the first subtraction means 0100000000 Subtraction result in the first subtraction means 00000000 (+000100000) → positive First selection means Output 00100000 Subtracted input in second subtraction means 00100000 Subtracted input in second subtraction means 010000000 Subtraction result in second subtraction means 11 000000 (−00100000) → negative Output of the second selecting means 010000000 4) Example in the case of partial quotient “11”, minuend input in the first subtraction means 011100000 Subtraction input in the first subtraction means 010000000 1st subtraction means 001100000 (+001100000) → positive Output of the first selection means 0110000000 Subtracted input in the second subtraction means 0110000000 Subtractive input in the second subtraction means 010000000 Subtraction result in the second subtraction means 00100000 (+00100000) → positive Second As described above, a 2-bit partial quotient is obtained within one cycle according to the result of the subtraction in the first and second subtraction means 30 and 41. When each subtraction result becomes 0, it is the same as when the operation result is positive.

【0014】ここで、上記除算装置において、速度を決
定するクリティカルパスは、(第1の減算手段10にお
ける減算処理)+(第1の選択手段51におけるデータ
の選択)+(第1の選択手段51におけるデータの通
過)+(第2の減算手段41における減算処理)+(第
2の選択手段61におけるデータの選択)+(第2の選
択手段61におけるデータの通過)となる。
Here, in the above dividing device, the critical path for determining the speed is (subtraction processing in the first subtraction means 10) + (selection of data in the first selection means 51) + (first selection means) (Data passing at 51) + (subtraction processing at second subtracting means 41) + (selection of data at second selecting means 61) + (data passing at second selecting means 61).

【0015】以下本発明の第2の実施例の除算装置の構
成について、図面を参照しながら説明する。
Hereinafter, the configuration of a divider according to a second embodiment of the present invention will be described with reference to the drawings.

【0016】図2は、正規化された除数データと被除数
データを入力として除算を実行し、1サイクルごとに2
ビットの部分商を生成する減算シフト型除算装置の構成
を示すものである。入力データは8ビットのデータ幅を
持つ正規化されたデータで、A[7:0]を被除数入
力、B[7:0]を除数入力とする。被除数入力、除数
入力ともに正規化されているため、最上位ビットA
[7]、B[7]は常に1が入力される。
FIG. 2 shows a case where the normalized divisor data and the dividend data are input and division is performed.
1 shows a configuration of a subtraction shift type division device that generates a partial quotient of bits. The input data is normalized data having a data width of 8 bits. A [7: 0] is a dividend input, and B [7: 0] is a divisor input. Since both the dividend input and the divisor input are normalized, the most significant bit A
1 is always input to [7] and B [7].

【0017】図2において、10は被除数入力A[7:
0]と部分剰余データを入力として、選択的にデータを
保持する第1のデータ保持手段である。データ入力時に
は、被除数入力A[7:0]を選択的に入力し、除算実
行時には、部分剰余データを選択的に入力し保持する。
保持するデータのビット幅として9ビット幅のデータを
保持し、被除数入力A[7:0]を選択的に入力する際
には、MSB側に1ビットデータ”0”を付加して9ビ
ット幅のデータを保持する。
In FIG. 2, reference numeral 10 denotes a dividend input A [7:
0] and partial remainder data as inputs, and is a first data holding unit that selectively holds data. When inputting data, the dividend input A [7: 0] is selectively input, and when performing division, the partial remainder data is selectively input and held.
When 9-bit data is held as the bit width of the data to be held and the dividend input A [7: 0] is selectively input, 1-bit data “0” is added to the MSB side to add 9-bit data. Holds the data.

【0018】20は除数入力B[7:0]を保持する第
2のデータ保持手段であり、MSB側に1ビットデー
タ”0”を付加して9ビット幅のデータを保持する。除
算実行時においても、このデータを保持する。
Reference numeral 20 denotes a second data holding means for holding the divisor input B [7: 0], and holds 1-bit data "0" on the MSB side to hold 9-bit data. This data is retained even at the time of division execution.

【0019】30は第1のデータ保持手段10から出力
されたデータから第2のデータ保持手段20から出力さ
れたデータを減算して結果を出力する第1の減算手段で
あり、9ビットの減算器から構成される。ここで、第2
のデータ保持手段20を8ビット構成とし、第1の減算
手段30において、第2のデータ保持手段20から出力
されたデータのMSB側に1ビットデータ”0”を付加
して減算を実行しても機能的には等価である。
Reference numeral 30 denotes first subtraction means for subtracting the data output from the second data holding means 20 from the data output from the first data holding means 10 and outputting the result. It is composed of vessels. Here, the second
The data holding means 20 of the first embodiment has an 8-bit configuration, and the first subtracting means 30 performs subtraction by adding 1-bit data "0" to the MSB side of the data output from the second data holding means 20. Are also functionally equivalent.

【0020】80は、第1のデータ保持手段10から出
力されたデータの上位3ビットと第2のデータ保持手段
20から出力されたデータの上位3ビットを入力として
比較結果を出力する比較手段である。第2のデータ保持
手段20を8ビット構成とし、最上位ビットに0を付加
したうえで上位3ビットの比較が実行しても機能的には
等価である。
Numeral 80 denotes a comparing means for inputting the upper 3 bits of the data output from the first data holding means 10 and the upper 3 bits of the data output from the second data holding means 20, and outputting a comparison result. is there. Even if the second data holding means 20 has an 8-bit configuration, and 0 is added to the most significant bit and then the comparison of the upper three bits is executed, the function is equivalent.

【0021】50は第1の減算手段30から出力された
データと第1のデータ保持手段10から出力されたデー
タを入力として比較手段80の比較結果に応じて選択的
に1ビット左シフトして出力する第1の選択手段であ
る。第1のデータ保持手段10から出力されたデータの
上位3ビットデータの方が第2のデータ保持手段20か
ら出力されたデータの上位3ビットデータより大きい場
合にのみ、第1の減算手段30から出力されたデータを
選択的に出力し、それ以外の場合には第1のデータ保持
手段10から出力されたデータを選択的に出力する。
Reference numeral 50 designates the data output from the first subtraction means 30 and the data output from the first data holding means 10 as inputs and selectively shifts left by one bit in accordance with the comparison result of the comparison means 80. This is a first selecting means for outputting. Only when the upper 3-bit data of the data output from the first data holding means 10 is larger than the upper 3-bit data of the data output from the second data holding means 20, the first subtraction means 30 The output data is selectively output, and otherwise, the data output from the first data holding unit 10 is selectively output.

【0022】40は第1の選択手段50から出力された
データから第2のデータ保持手段20から出力されたデ
ータを減算して結果を出力する第2の減算手段である。
Reference numeral 40 denotes second subtraction means for subtracting the data output from the second data holding means 20 from the data output from the first selection means 50 and outputting the result.

【0023】90は、第1の減算手段30から出力され
たデータと第1のデータ保持手段10から出力されたデ
ータを入力として第1の減算手段30の減算結果に応じ
て選択的に2ビット左シフトして出力する第2の選択手
段である。第1の減算手段30の減算結果が正または0
の場合には第1の減算手段30から出力されたデータを
選択的に2ビット左シフトして出力し、負の場合には第
1のデータ保持手段10から出力されたデータを選択的
に2ビット左シフトして出力する。
Numeral 90 designates, as inputs, the data output from the first subtraction means 30 and the data output from the first data holding means 10, and selectively outputs two bits according to the subtraction result of the first subtraction means 30. This is second selection means for shifting to the left and outputting. The subtraction result of the first subtraction means 30 is positive or 0
In the case of (1), the data output from the first subtraction means 30 is selectively shifted left by 2 bits and output, and in the case of a negative value, the data output from the first data holding means 10 is selectively shifted by 2 Bit left shift output.

【0024】60は第2の減算手段40の減算結果に応
じて第2の減算手段40から出力されたデータを1ビッ
ト左シフトして出力するか、または、第2の選択手段9
0から出力されたデータをそのまま出力する第3の選択
手段である。第2の減算手段40の減算結果が負であれ
ば第2の選択手段90から出力されたデータを選択的に
出力し、それ以外の場合であれば第2の減算手段40か
ら出力されたデータを選択的に1ビット左シフトして出
力する。
Numeral 60 indicates whether the data output from the second subtraction means 40 is shifted left by one bit and output in accordance with the result of the subtraction by the second subtraction means 40, or the second selection means 9
This is third selection means for directly outputting the data output from 0. If the subtraction result of the second subtraction means 40 is negative, the data output from the second selection means 90 is selectively output; otherwise, the data output from the second subtraction means 40 Is selectively shifted left by one bit and output.

【0025】70は部分商保持回路である。第1の減算
手段30で実行された減算結果と第2の減算手段40で
実行された減算結果に応じて部分商を保持する。第1の
減算手段30および第2の減算手段40それぞれの減算
結果が正あるいは0であれば部分商として1を保持し、
負であれば部分商として0を保持する。前記2つの減算
器の結果をもとに、1サイクルごとに2ビットづつの部
分商が生成保持される。部分商保持回路70は、2ビッ
ト入力のシフトレジスタあるいは入力データ選択機能付
きのレジスタによって、容易に構成することができる。
Reference numeral 70 denotes a partial quotient holding circuit. The partial quotient is held according to the result of the subtraction performed by the first subtraction means 30 and the result of the subtraction performed by the second subtraction means 40. If the subtraction result of each of the first subtraction means 30 and the second subtraction means 40 is positive or 0, 1 is held as a partial quotient,
If it is negative, 0 is retained as a partial quotient. Based on the results of the two subtractors, a partial quotient of two bits is generated and held every cycle. The partial quotient holding circuit 70 can be easily constituted by a 2-bit input shift register or a register having an input data selection function.

【0026】以上のように構成された除算装置について
の動作について説明する。
The operation of the dividing device configured as described above will be described.

【0027】まず、被除数入力A[7:0]に正規化さ
れた被除数データが、除数入力B[7:0]に正規化さ
れた除数データが入力される。被除数データおよび除数
データは、ともに正規化されているので、最上位ビット
A[7]、B[7]には、ともにデータ”1”が入力さ
れる。入力されたデータはそれぞれ、第1のデータ保持
手段10と第2のデータ保持手段20に保持され、除算
の演算の実行が開始される。ここで、第1のデータ保持
手段10から出力される被除数/部分剰余データをデー
タa[8:0]と第2のデータ保持手段20から供給さ
れる除数データをデータb[8:0]とすると、この2
つのデータa[8:0]、b[8:0]は、第1の減算
手段30と比較手段80に同時に供給される。第1の減
算手段30では、(a[8:0]ーb[8:0])とい
う減算が実行されその減算結果が出力される。比較手段
80では、第1のデータ保持手段10から出力される被
除数/部分剰余データのMSB側3ビット、すなわち、
a[8:6]と第2のデータ保持手段20から供給され
る除数データのMSB側3ビット、すなわち、b[8:
6]の比較が行われる。
First, normalized dividend data is input to a dividend input A [7: 0], and normalized divisor data is input to a divisor input B [7: 0]. Since the dividend data and the divisor data are both normalized, data “1” is input to the most significant bits A [7] and B [7]. The input data is held in the first data holding unit 10 and the second data holding unit 20, respectively, and the execution of the division operation is started. Here, the dividend / partial remainder data output from the first data holding means 10 is data a [8: 0] and the divisor data supplied from the second data holding means 20 is data b [8: 0]. Then this 2
The two data a [8: 0] and b [8: 0] are simultaneously supplied to the first subtraction means 30 and the comparison means 80. In the first subtraction means 30, a subtraction of (a [8: 0] -b [8: 0]) is executed, and the result of the subtraction is output. In the comparing means 80, the 3 bits on the MSB side of the dividend / partial remainder data output from the first data holding means 10, that is,
a [8: 6] and the 3 bits on the MSB side of the divisor data supplied from the second data holding means 20, that is, b [8:
6] is performed.

【0028】次に、この比較結果に応じて、第1の選択
手段50の出力が制御される。比較結果としては、 1)a[8:6]>b[8:6] 2)a[8:6]<b[8:6] 3)a[8:6]=b[8:6]の3通りの結果がある
が、それ以降の動作をそれぞれの場合について詳細に説
明する。
Next, the output of the first selecting means 50 is controlled according to the comparison result. As a comparison result, 1) a [8: 6]> b [8: 6] 2) a [8: 6] <b [8: 6] 3) a [8: 6] = b [8: 6] There are three types of results, and the subsequent operations will be described in detail for each case.

【0029】1)の場合には比較手段80における比較
結果より、常にa[8:0]>b[8:0]ということ
が成り立つので、第1の減算手段30における減算処理
(a[8:0]−b[8:0])が終了しなくてもその
結果が正になることがわかる。したがって、1ビット目
の部分商は、”1”となる。第1の減算手段30におけ
る減算処理結果が正であるので、第2の減算手段40に
は、第1の減算手段30からの出力を1ビット左シフト
して入力する必要がある。すなわち、第1の選択手段5
0は、第1の減算手段30から出力された減算結果を選
択的に1ビット左シフトして第2の減算手段40に出力
するよう制御される。第2の選択手段90は、第1の減
算手段30の演算結果に応じて制御され、この場合は、
第1の減算手段30の減算結果が正であるので、前記第
1の減算手段30からの出力を選択的に2ビット左シフ
トして出力する。第3の選択手段60は、第2の減算手
段40の減算結果に応じて、制御される。第2の減算手
段40の減算結果が、正または0であれば第2の減算手
段40からの出力を選択的に1ビット左シフトして出力
する。負であれば、前記第2の選択手段90からの出力
を選択的に出力する。以上のように動作することで、
1)の場合には、”10”あるいは、”11”という部
分商が生成される。
In the case of 1), it is always true that a [8: 0]> b [8: 0] from the comparison result of the comparing means 80, so that the subtraction processing (a [8 : 0] -b [8: 0]) is not terminated, but the result is positive. Therefore, the partial quotient of the first bit is “1”. Since the result of the subtraction processing by the first subtraction means 30 is positive, it is necessary to input the output from the first subtraction means 30 to the second subtraction means 30 by shifting the output to the left by one bit. That is, the first selecting means 5
0 is controlled so that the subtraction result output from the first subtraction means 30 is selectively shifted left by one bit and output to the second subtraction means 40. The second selecting means 90 is controlled according to the operation result of the first subtracting means 30, and in this case,
Since the subtraction result of the first subtraction means 30 is positive, the output from the first subtraction means 30 is selectively shifted left by 2 bits and output. The third selecting means 60 is controlled according to the subtraction result of the second subtracting means 40. If the subtraction result of the second subtraction means 40 is positive or 0, the output from the second subtraction means 40 is selectively shifted left by one bit and output. If negative, the output from the second selecting means 90 is selectively output. By operating as described above,
In the case of 1), a partial quotient of “10” or “11” is generated.

【0030】2)の場合には比較手段80における比較
結果より、常にa[8:0]<b[8:0]ということ
が成り立つので、第1の減算手段30における減算処理
(a[8:0]−b[8:0])が終了しなくてもその
結果が負になることがわかる。したがって、1ビット目
の部分商は、”0”となる。第1の減算手段30におけ
る減算処理結果が負であるので、第2の減算手段40に
は、第1のデータ保持手段10からの出力を1ビット左
シフトして入力する必要がある。すなわち、第1の選択
手段50は、第1のデータ保持手段10からの出力を選
択的に1ビット左シフトして第2の減算手段40に出力
するよう制御される。第2の選択手段90は、第1の減
算手段30の減算結果に応じて制御され、この場合は、
第1の減算手段30の減算結果が負であるので、前記第
1のデータ保持手段10からの出力を選択的に2ビット
左シフトして出力する。第3の選択手段60は、第2の
減算手段40の減算結果に応じて、制御される。第2の
減算手段40の減算結果が、正または0であれば第2の
減算手段40からの出力を選択的に1ビット左シフトし
て出力する。負であれば、前記第2の選択手段90から
の出力を選択的に出力する。以上のように動作すること
で、2)の場合には、”00”あるいは、”01”とい
う部分商が生成される。
In the case of 2), it is always true that a [8: 0] <b [8: 0] from the comparison result of the comparing means 80, so the subtraction processing (a [8 : 0] -b [8: 0]), the result is negative even if it does not end. Therefore, the partial quotient of the first bit is “0”. Since the result of the subtraction processing in the first subtraction means 30 is negative, it is necessary to input the output from the first data holding means 10 to the second subtraction means 10 by shifting the output to the left by one bit. That is, the first selecting means 50 is controlled so as to selectively shift the output from the first data holding means 10 to the left by one bit and output it to the second subtracting means 40. The second selecting means 90 is controlled according to the subtraction result of the first subtracting means 30, and in this case,
Since the subtraction result of the first subtraction means 30 is negative, the output from the first data holding means 10 is selectively shifted left by 2 bits and output. The third selecting means 60 is controlled according to the subtraction result of the second subtracting means 40. If the subtraction result of the second subtraction means 40 is positive or 0, the output from the second subtraction means 40 is selectively shifted left by one bit and output. If negative, the output from the second selecting means 90 is selectively output. By operating as described above, in the case of 2), a partial quotient of “00” or “01” is generated.

【0031】3)の場合には、第1の減算手段30にお
ける減算処理の結果が正になる場合、0になる場合、お
よび負になる場合が存在する。すなわち、a[5:0]
>b[5:0]ならば減算手段30における減算処理の
結果は正、a[5:0]=b[5:0]ならば減算手段
30における減算処理の結果は0、a[5:0]<b
[5:0]ならば減算手段30における減算処理の結果
は負になり、比較手段80における比較結果によって1
ビット目の部分商を決定することはできない。しかしな
がら、データb[8:0]が第2のデータ保持手段20
から供給される正規化された除数データであることに着
目すると、2ビットの部分商の組み合わせを限定でき
る。データb[8:6]は、正規化された除数データの
MSB側3ビットであるためそのパターンは、”01
0”と”011”しか起こり得ない。この2つの場合
で、データa、bの組み合わせをより詳細に説明する。
In the case of 3), there are cases where the result of the subtraction processing by the first subtraction means 30 becomes positive, becomes 0, and becomes negative. That is, a [5: 0]
If> b [5: 0], the result of the subtraction processing in the subtraction means 30 is positive, and if a [5: 0] = b [5: 0], the result of the subtraction processing in the subtraction means 30 is 0, a [5: 0] <b
If [5: 0], the result of the subtraction processing by the subtraction means 30 becomes negative, and 1
The partial quotient of the bit cannot be determined. However, the data b [8: 0] is stored in the second data holding unit 20.
Paying attention to the normalized divisor data supplied from, the combination of 2-bit partial quotients can be limited. Since the data b [8: 6] is the 3 bits on the MSB side of the normalized divisor data, the pattern is “01”.
Only "0" and "011" can occur, and in these two cases, the combination of the data a and b will be described in more detail.

【0032】MSB側3ビットデータが、”010”の
場合の9ビットデータの最大値は、”01011111
1”、最小値は、”010000000”となる。aが
最大値、bが最小値をとった場合、以下のような2回の
減算処理の結果、部分商は、”10”となる。
When the 3-bit data on the MSB side is "010", the maximum value of the 9-bit data is "01011111".
1 "and the minimum value are" 0100000000000 "When a takes the maximum value and b takes the minimum value, the partial quotient becomes" 10 "as a result of the following two subtraction processes.

【0033】 010111111 −010000000 −−−−−−−−−− 000111111 (正)→部分商 ”1” 001111110 (減算結果を左1ビットシフト) −010000000 −−−−−−−−−− −000000010 (負)→部分商 ”0” また、aが最小値、bが最大値をとった場合、以下のよ
うな2回の減算処理の結果、部分商は、”01”とな
る。
010111111 -010000001------------------------------------------------------------------------------------------- (Negative) → partial quotient “0” When a takes the minimum value and b takes the maximum value, the partial quotient becomes “01” as a result of the following two subtraction processes.

【0034】 010000000 −010111111 −−−−−−−−−− −000111111 (負)→部分商 ”0” 100000000 (第1のデータ保持手段出力を左1ビットシフト) −010111111 −−−−−−−−−− 001000001 (正)→部分商 ”1” 次に、MSB側3ビットデータが、”011”の場合の
9ビットデータの最大値は、”011111111”、
最小値は、”011000000”となる。aが最大
値、bが最小値をとった場合、以下のような2回の減算
処理の結果、部分商は、”10”となる。
0100000000 -010111111------------------------------------------------------------------------- −−− 0010001001 (correct) → partial quotient “1” Next, when the MSB side 3-bit data is “011”, the maximum value of the 9-bit data is “0111111111”,
The minimum value is “0110000000”. When a takes the maximum value and b takes the minimum value, the partial quotient becomes “10” as a result of the following two subtraction processes.

【0035】 011111111 −011000000 −−−−−−−−−− 000111111 (正)→部分商 ”1” 001111110 (減算結果を左1ビットシフト) −011000000 −−−−−−−−−− −001000010 (負)→部分商 ”0” また、aが最小値、bが最大値をとった場合、以下のよ
うな2回の減算処理の結果、部分商は、”01”とな
る。
011111111 -0110000000 ------------------------- 000111111 (positive) → partial quotient "1" 001111110 (subtraction result is shifted by one bit to the left) -011100000 -------------------------- 0010001010 (Negative) → partial quotient “0” When a takes the minimum value and b takes the maximum value, the partial quotient becomes “01” as a result of the following two subtraction processes.

【0036】 011000000 −011111111 −−−−−−−−−− −000111111 (負)→部分商 ”0” 110000000 (第1のデータ保持手段出力を左1ビットシフト) −011111111 −−−−−−−−−− 010000001 (正)→部分商 ”1” さらに、a、bの値に関わらず、a=bの場合、以下の
ような2回の減算処理の結果、部分商は、”10”とな
る。
0110000000 -011111111 -------------------------- 000111111 (negative) → Partial quotient "0" 110000000 (The output of the first data holding means is shifted one bit to the left) -0111111111 ----- −−−− 100000001 (correct) → partial quotient “1” Further, regardless of the values of a and b, when a = b, the partial quotient is “10” as a result of the following two subtraction processes. Becomes

【0037】 01******* −01******* −−−−−−−−−− 000000000 (0)→部分商 ”1” 000000000 (減算結果を左1ビットシフト) −011000000 −−−−−−−−−− −011000000 (負)→部分商 ”0” 以上の説明で明らかなように比較手段80における比較
結果が、3)a[ 8:6]=b[8:6]の場合に
は、部分商の組み合わせを”10”か”01”に限定す
ることができる。すなわち、第1の減算手段30におけ
る減算結果が正または0であれば、部分商は”10”と
なり、第1の減算手段30における減算結果が負であれ
ば、部分商は”01”となる。この結果と矛盾を起こさ
ないように部分剰余を生成することで、全体として矛盾
なく除算が実行可能となる。さらに、部分商が”10”
となる場合の部分剰余は、第1の減算手段30からの出
力をそのまま2ビット左シフトして出力したものであ
り、部分商が”01”となる場合の部分剰余は、第1の
データ保持手段10からの出力を1ビット左シフトして
第2の減算手段40に入力し、第2の減算手段40から
の出力を1ビット左シフトして出力したものである。こ
れら2つのデータは、第1の選択手段50を第1のデー
タ保持手段10からの出力を選択的に1ビット左シフト
して出力するように制御し、かつ、第2の選択手段90
を第1の減算手段30からの出力を選択的に2ビット左
シフトして出力するように制御しておけば、あとは、第
2の減算手段40の結果に応じて、第3の選択手段60
を制御することで、部分商と矛盾なく第3の選択手段か
ら出力することが可能となる。すなわち、比較手段80
における比較結果が、3)a[8:6]=b[8:6]
の場合には、第1の選択手段50を、第1のデータ保持
手段10からの出力を選択的に1ビット左シフトして第
2の減算手段40に出力するように制御し、第2の選択
手段90を第1の減算手段30における減算結果に応じ
て減算結果が正または0であれば、第1の減算手段30
からの出力を、負であれば第1のデータ保持手段10か
らの出力を選択的に2ビット左シフトして第3の選択手
段60に出力するように制御することで、矛盾なく除算
を実行することができる。上記動作の変更例として、比
較手段80の比較結果が3)a[8:6]=b[8:
6]の場合には、2ビットの部分商を第1の減算手段3
0の減算結果ではなく、第2の減算手段40の減算結果
に応じて決定しても良い。また、この場合、部分剰余デ
ータを出力する第3の選択手段60を、第2の減算手段
40の減算結果ではなく、第1の減算手段30の減算結
果に応じて制御しても良い。
01 ********** -01 **** *** --------------- 000000000 (0) → Partial quotient "1" 00000000 (the subtraction result is shifted one bit to the left) −01100000 −−−−−−−−−− 01100000 (negative) → partial quotient “0” As is clear from the above description, the comparison result by the comparing means 80 is 3) a [8: 6] = b [ 8: 6], the combination of partial quotients can be limited to “10” or “01”. That is, if the subtraction result in the first subtraction means 30 is positive or 0, the partial quotient is "10", and if the subtraction result in the first subtraction means 30 is negative, the partial quotient is "01". . By generating a partial remainder so as not to contradict the result, division can be executed without contradiction as a whole. Furthermore, the partial quotation is "10"
Is obtained by shifting the output from the first subtraction means 30 to the left by 2 bits as it is, and outputting the partial remainder when the partial quotient is "01". The output from the means 10 is shifted left by one bit and input to the second subtraction means 40, and the output from the second subtraction means 40 is shifted left by one bit and output. These two data are controlled by the first selecting means 50 so that the output from the first data holding means 10 is selectively shifted left by one bit and output, and the second selecting means 90
Is controlled so that the output from the first subtraction means 30 is selectively shifted left by two bits and output, and then the third selection means is controlled according to the result of the second subtraction means 40. 60
Can be output from the third selecting means without inconsistency with the partial quotient. That is, the comparing means 80
3) a [8: 6] = b [8: 6]
In the case of (1), the first selecting means 50 is controlled so that the output from the first data holding means 10 is selectively shifted left by one bit and output to the second subtracting means 40, If the subtraction result is positive or 0 in accordance with the result of the subtraction by the first subtraction means 30,
, The output from the first data holding means 10 is selectively shifted left by two bits and output to the third selecting means 60 if the output is negative, thereby executing division without contradiction. can do. As a modified example of the above operation, the comparison result of the comparing means 80 is 3) a [8: 6] = b [8:
6], the 2-bit partial quotient is added to the first subtraction means 3
The determination may be made according to the subtraction result of the second subtraction means 40 instead of the subtraction result of 0. Further, in this case, the third selecting unit 60 that outputs the partial remainder data may be controlled according to the subtraction result of the first subtraction unit 30 instead of the subtraction result of the second subtraction unit 40.

【0038】以上のように、除算装置が動作することに
より、1サイクルごとに2ビットの部分商が生成された
後、第3の選択手段60からの出力が部分剰余データと
して第1のデータ保持手段10に入力し保持される。
As described above, by the operation of the divider, a 2-bit partial quotient is generated every cycle, and then the output from the third selecting means 60 becomes the first data holding data as partial remainder data. It is input to the means 10 and held.

【0039】このサイクルをN回繰り返すことにより、
2Nビットの商を求めることができる。ここで、この動
作を行う場合の遅延/速度を決定するパスであるクリテ
ィカルパスについて説明する。まず、部分剰余の生成経
路を調べると、部分商が”10”となる場合の部分剰余
は、第1の減算手段30→第2の選択手段90→第3の
選択手段60という経路で生成され、部分商が”01”
となる場合の部分剰余は、第1の選択手段50→第2の
減算手段40→第3の選択手段60という経路で生成さ
れる。ここでいう経路とは、第1第2のデータ保持手段
10、20を起点としてのデータそのものの流れであ
る。
By repeating this cycle N times,
A quotient of 2N bits can be obtained. Here, a critical path, which is a path for determining the delay / speed when performing this operation, will be described. First, the generation route of the partial remainder is examined. When the partial quotient is “10”, the partial remainder is generated along the route of the first subtraction unit 30 → the second selection unit 90 → the third selection unit 60. , Partial quotation is “01”
In this case, the partial remainder is generated along the path of the first selecting means 50 → the second subtracting means 40 → the third selecting means 60. The path here is the flow of the data itself starting from the first and second data holding units 10 and 20.

【0040】同じ観点で、比較手段80における各比較
結果ごとの部分商と部分剰余の経路をまとめると以下の
ようになる。
From the same viewpoint, the routes of the partial quotient and the partial remainder for each comparison result in the comparing means 80 are summarized as follows.

【0041】1)a[8:6]>b[8:6]の場合、 部分商”10” 部分剰余の経路 第1の減算手段30→第2の選択手段90→第3の選択
手段60 部分商”11” 部分剰余の経路 第1の減算手段30→第1の選択手段50→第2の減算
手段40→第3の選択手段60 2)a[8:6]<b[8:6]の場合、 部分商”00” 部分剰余の経路 第2の減算手段40→第3の選択手段60 部分商”01” 部分剰余の経路 第1の選択手段50→第2の減算手段40→第3の選択
手段60 3)a[8:6]=b[8:6]の場合、 部分商”10” 部分剰余の経路 第1の減算手段30→第3の選択手段90→第3の選択
手段60 部分商”01” 部分剰余の経路 第1の選択手段50→第2の減算手段40→第3の選択
手段60 これは、部分剰余を生成する際のメインのデータの流れ
る経路であるので、全体の遅延を考える場合には、これ
に加えて制御の流れ/制御に要する遅延も考慮する必要
がある。各遅延要素を以下のように定義して、クリティ
カルパスをまとめる。
1) If a [8: 6]> b [8: 6], partial quotient "10" Partial remainder path First subtraction means 30 → second selection means 90 → third selection means 60 Partial quotient “11” Partial remainder path First subtraction means 30 → first selection means 50 → second subtraction means 40 → third selection means 602 2) a [8: 6] <b [8: 6 ], The partial quotient "00" The path of the partial remainder The second subtraction means 40 → the third selecting means 60 The partial quotient “01” The path of the partial remainder The first selecting means 50 → the second subtracting means 40 → 3) Selection means 60 3) If a [8: 6] = b [8: 6], partial quotient “10” Partial remainder path First subtraction means 30 → third selection means 90 → third selection Means 60 Partial quotient “01” Path of partial remainder First selection means 50 → second subtraction means 40 → third selection means 60 Since the path of flow of the main data when generating the remainder, when considering the overall delay, delay required to flow / control of the control in addition to it is necessary to consider. Critical paths are summarized by defining each delay element as follows.

【0042】D0:(前記比較手段80における比較処
理) D1:(前記第1の減算手段30における減算処理) D2:(前記第1の選択手段50におけるデータの選
択) D3:(前記第1の選択手段50におけるデータの通
過) D4:(前記第2の減算手段40における減算処理) D5:(前記第3の選択手段60におけるデータの選
択) D6:(前記第3の選択手段60におけるデータの通
過) D7:(前記第2の選択手段90におけるデータの選
択) D8:(前記第2の選択手段90におけるデータの通
過) 以上の定義にしたがって、クリティカルパスを整理する
と、 1)a[8:6]>b[8:6]の場合、 クリティカルパス1 D0→D2→D3→D4→D5→
D6 クリティカルパス2 D1→D3→D4→D5→D6 2)a[8:6]<b[8:6]の場合、 クリティカルパス3 D0→D2→D3→D4→D5→
D6 3)a[8:6]=b[8:6]の場合、 クリティカルパス4 D0→D2→D3→D4→D5→
D6 クリティカルパス5 D1→D3→D4→D5→D6 ここで、D0→D2とD1のパスを比較すると、D0→
D2のパスの方が、D1のパスより十分小さい遅延とな
るので、もっとも遅延的にクリティカルなパスは、D1
→D3→D4→D5→D6となる。第1の実施例におけ
るクリティカルパスは、D1→D2→D3→D4→D5
→D6であったので、D2の分だけ高速化が図れたこと
になる。
D0: (Comparison processing in the comparison means 80) D1: (Subtraction processing in the first subtraction means 30) D2: (Selection of data in the first selection means 50) D3: (The first processing D4: (subtraction processing in the second subtraction means 40) D5: (selection of data in the third selection means 60) D6: (data selection in the third selection means 60) D7: (Selection of data by the second selection means 90) D8: (Passage of data by the second selection means 90) When the critical paths are arranged according to the above definition, 1) a [8: 6]> b [8: 6], critical path 1 D0 → D2 → D3 → D4 → D5 →
D6 critical path 2 D1 → D3 → D4 → D5 → D6 2) If a [8: 6] <b [8: 6], critical path 3 D0 → D2 → D3 → D4 → D5 →
D6 3) If a [8: 6] = b [8: 6], critical path 4 D0 → D2 → D3 → D4 → D5 →
D6 critical path 5 D1 → D3 → D4 → D5 → D6 Here, comparing the paths of D0 → D2 and D1, D0 →
Since the path of D2 has a sufficiently smaller delay than the path of D1, the most delay critical path is D1.
→ D3 → D4 → D5 → D6. The critical path in the first embodiment is D1 → D2 → D3 → D4 → D5
Since it was D6, the speed was increased by D2.

【0043】以上の説明より明らかなように、本発明の
第2の実施例の除算装置によれば、被除数データと除数
データの上位3ビット同士を比較する比較手段80を設
け、その比較結果によって第1の選択手段50の出力を
制御する。それにより、除算の実行を保証しながら、ク
リティカルパスを削減して高速化を実現した除算装置を
構成可能となる。
As is apparent from the above description, according to the dividing apparatus of the second embodiment of the present invention, the comparing means 80 for comparing the upper 3 bits of the dividend data and the divisor data with each other is provided. The output of the first selecting means 50 is controlled. As a result, it is possible to configure a division device that realizes high-speed operation by reducing critical paths while guaranteeing execution of division.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例における除算装置の構成
図である。
FIG. 1 is a configuration diagram of a division device according to a first embodiment of the present invention.

【図2】本発明の第2の実施例による除算装置の構成図
である。
FIG. 2 is a configuration diagram of a division device according to a second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

10 第1のデータ保持手段 20 第2のデータ保持手段 30 第1の減算手段 40 第2の減算手段 50 第1の選択手段 90 第2の選択手段 60 第3の選択手段 70 部分商保持手段 80 比較手段 DESCRIPTION OF SYMBOLS 10 1st data holding means 20 2nd data holding means 30 1st subtraction means 40 2nd subtraction means 50 1st selection means 90 2nd selection means 60 3rd selection means 70 Partial quotient holding means 80 Comparison means

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 正規化された被除数データと除数データ
を入力として除算を実行し、1サイクルごとに2ビット
の部分商を生成する除算装置において、 前記被除数データと部分剰余データとを入力データとし
て選択的にデータを保持する第1のデータ保持手段と、 前記除数データを入力としてデータを保持する第2のデ
ータ保持手段と、 前記第1のデータ保持手段から出力されたデータから前
記第2のデータ保持手段から出力されたデータを減算し
て結果を出力する第1の減算手段と、 前記第1のデータ保持手段から出力されたデータの上位
Nビットと前記第2のデータ保持手段から出力されたデ
ータの上位Nビットを入力として比較結果を出力する比
較手段と、 前記第1の減算手段から出力されたデータと前記第1の
データ保持手段から出力されたデータを入力として前記
比較手段の比較結果に応じて選択的に1ビット左シフト
して出力する第1の選択手段と、 前記第1の選択手段から出力されたデータから前記第2
のデータ保持手段から出力されたデータを減算して結果
を出力する第2の減算手段と、 前記第1の減算手段から出力されたデータと前記第1の
データ保持手段から出力されたデータを入力として前記
第1の減算手段の減算結果に応じて選択的に2ビット左
シフトして出力する第2の選択手段と、 前記第2の減算手段から出力されたデータを1ビット左
シフトしたデータと前記第2の選択手段から出力された
データをデータ入力として前記第1または第2の減算手
段の減算結果に応じて選択的に部分剰余データとして出
力する第3の選択手段とを備えたことを特徴とする除算
装置。
1. A division device for executing division by inputting normalized dividend data and divisor data and generating a 2-bit partial quotient every cycle, wherein the dividend data and the partial remainder data are input data. A first data holding unit for selectively holding data, a second data holding unit for holding the data by inputting the divisor data, and a second data holding unit based on the data output from the first data holding unit. First subtraction means for subtracting the data output from the data holding means and outputting the result, and upper N bits of the data output from the first data holding means and output from the second data holding means Comparing means for inputting the upper N bits of the received data and outputting a comparison result; and data output from the first subtracting means and the first data holding means. Depending on the comparison result of the comparing means the force data as input selectively one bit left shift to the first selecting means for outputting said first from said output data from the selection means second
Second subtraction means for subtracting the data output from the data holding means and outputting the result; and inputting the data output from the first subtraction means and the data output from the first data holding means. Second selecting means for selectively shifting left by 2 bits according to the subtraction result of the first subtracting means and outputting the data; and data obtained by shifting the data output from the second subtracting means by one bit to the left. And third selecting means for selectively outputting data output from the second selecting means as a data input as partial remainder data according to the subtraction result of the first or second subtracting means. Characteristic division device.
【請求項2】 前記比較手段において、第1のデータ保
持手段から出力されたデータの上位3ビットと第2のデ
ータ保持手段から出力されたデータの上位3ビットを入
力として比較結果を出力することを特徴とする請求項1
記載の除算装置。
2. The comparison means according to claim 1, wherein the comparison means outputs the upper three bits of the data output from the first data holding means and the upper three bits of the data output from the second data holding means as inputs. Claim 1 characterized by the following:
A division device as described.
【請求項3】 前記第1の選択手段において、比較手段
による比較の結果、第1のデータ保持手段から出力され
たデータの上位3ビットデータの方が第2のデータ保持
手段から出力されたデータの上位3ビットデータより大
きい場合に、第1の減算手段から出力されたデータを選
択的に出力し、それ以外の場合には、第1のデータ保持
手段から出力されたデータを選択的に出力することを特
徴とする請求項2記載の除算装置。
3. In the first selection means, as a result of the comparison by the comparison means, the upper three bits of the data output from the first data holding means are the data output from the second data holding means. Selectively outputs the data output from the first subtraction means if the data is larger than the upper 3 bits of the data. Otherwise, selectively outputs the data output from the first data holding means. 3. The dividing device according to claim 2, wherein the dividing is performed.
【請求項4】 比較手段による比較の結果、第1のデー
タ保持手段から出力されたデータの上位3ビットデータ
と第2のデータ保持手段から出力されたデータの上位3
ビットデータが同じ場合に、前記第1の減算手段の減算
結果に応じて、2ビットの部分商を決定することを特徴
とする請求項3記載の除算装置。
4. As a result of the comparison by the comparing means, the upper 3 bits of the data output from the first data holding means and the upper 3 bits of the data output from the second data holding means.
4. The dividing device according to claim 3, wherein when the bit data is the same, a 2-bit partial quotient is determined according to a subtraction result of the first subtraction means.
【請求項5】 比較手段による比較の結果、第1のデー
タ保持手段から出力されたデータの上位3ビットデータ
と第2のデータ保持手段から出力されたデータの上位3
ビットデータが同じ場合に、前記第2の減算手段の減算
結果に応じて、2ビットの部分商を決定することを特徴
とする請求項3記載の除算装置。
5. As a result of the comparison by the comparing means, the upper three bits of the data output from the first data holding means and the upper three bits of the data output from the second data holding means.
4. The dividing device according to claim 3, wherein when the bit data is the same, a 2-bit partial quotient is determined according to a subtraction result of the second subtracting means.
【請求項6】 正規化された被除数データと除数データ
を入力として除算を実行し、1サイクルごとに2ビット
の部分商を生成する除算装置において、 前記被除数データと部分剰余データとを入力データとし
て選択的にデータを保持する第1のデータ保持手段と、 前記除数データを入力としてデータを保持する第2のデ
ータ保持手段と、 前記第1のデータ保持手段から出力されたデータから前
記第2のデータ保持手段から出力されたデータを減算し
て結果を出力する第1の減算手段と、 前記第1の減算手段から出力されたデータと前記第1の
データ保持手段から出力されたデータを入力として前記
第1の減算手段の減算結果に応じて選択的に1ビット左
シフトして出力する第1の選択手段と、 前記第1の選択手段から出力されたデータから前記第2
のデータ保持手段から出力されたデータを減算して結果
を出力する第2の減算手段と、 前記第2の減算手段から出力されたデータと前記第2の
選択手段から出力されたデータをデータ入力として前記
第2の減算手段の減算結果に応じて選択的に1ビット左
シフトして部分剰余データとして出力する第2の選択手
段とを備えたことを特徴とする除算装置。
6. A division apparatus for executing division by inputting normalized dividend data and divisor data and generating a 2-bit partial quotient every cycle, wherein the dividend data and the partial remainder data are input data. A first data holding unit for selectively holding data, a second data holding unit for holding the data by inputting the divisor data, and a second data holding unit based on the data output from the first data holding unit. A first subtraction unit for subtracting the data output from the data holding unit and outputting a result, and a data output from the first subtraction unit and the data output from the first data holding unit as inputs. First selecting means for selectively shifting left by one bit according to the result of the subtraction by the first subtracting means, and outputting the data; Serial second
Second subtraction means for subtracting the data output from the data holding means and outputting the result, and inputting the data output from the second subtraction means and the data output from the second selection means. A second selecting means for selectively shifting left by one bit in accordance with the result of the subtraction by the second subtracting means and outputting the result as partial remainder data.
JP08325524A 1995-12-08 1996-12-05 Division device Expired - Fee Related JP3122622B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08325524A JP3122622B2 (en) 1995-12-08 1996-12-05 Division device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP32015795 1995-12-08
JP7-320157 1995-12-08
JP08325524A JP3122622B2 (en) 1995-12-08 1996-12-05 Division device

Publications (2)

Publication Number Publication Date
JPH09269892A JPH09269892A (en) 1997-10-14
JP3122622B2 true JP3122622B2 (en) 2001-01-09

Family

ID=26569976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08325524A Expired - Fee Related JP3122622B2 (en) 1995-12-08 1996-12-05 Division device

Country Status (1)

Country Link
JP (1) JP3122622B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3869327B1 (en) 2018-10-18 2023-07-26 Fujitsu Limited Calculation processing device and control method for calculation processing device

Also Published As

Publication number Publication date
JPH09269892A (en) 1997-10-14

Similar Documents

Publication Publication Date Title
JP4955182B2 (en) Integer calculation field range extension
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US7424504B2 (en) Arithmetic processor for accomodating different field sizes
JP2835153B2 (en) High radix divider
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
US5177703A (en) Division circuit using higher radices
JPH05250146A (en) Arithmetic operation circuit executing integer involution processing
US5867413A (en) Fast method of floating-point multiplication and accumulation
JPH0744530A (en) Arithmetic device
JPH1195982A (en) Circuit, method and system for arithmetic processing
KR100218683B1 (en) Modular multiplication device
JP3537378B2 (en) Adders and integrated circuits
JP3122622B2 (en) Division device
US20020174157A1 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
KR100481586B1 (en) Apparatus for modular multiplication
US5946223A (en) Subtraction/shift-type dividing device producing a 2-bit partial quotient in each cycle
JPS62197868A (en) Linear approximation conversion circuit for pipeline construction
JP3064405B2 (en) Complex number processing
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry
Nagendra et al. Unifying carry-sum and signed-digital number representations for low power
JP3413940B2 (en) Arithmetic circuit
JP3517162B2 (en) Division and square root arithmetic unit
JPH07141148A (en) Pipeline parallel multiplier
JPS6259828B2 (en)
JP2777265B2 (en) High radix square root arithmetic unit

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees