JPH07200265A - シフト及び丸め回路 - Google Patents
シフト及び丸め回路Info
- Publication number
- JPH07200265A JPH07200265A JP6319312A JP31931294A JPH07200265A JP H07200265 A JPH07200265 A JP H07200265A JP 6319312 A JP6319312 A JP 6319312A JP 31931294 A JP31931294 A JP 31931294A JP H07200265 A JPH07200265 A JP H07200265A
- Authority
- JP
- Japan
- Prior art keywords
- integer
- rounding
- shift
- terminal corresponding
- bits
- 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
Links
- 238000009825 accumulation Methods 0.000 abstract 1
- 238000000034 method Methods 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49952—Sticky bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49963—Rounding to nearest
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
り、一連の演算における丸め誤差の累積などを軽減す
る。 【構成】図で入力端子111から与えられたワードX=
XN−1XN−2・・・X0をシフトレジスタ(ここで
は多重化回路101−105によって実現されている)
でmビット右シフトすることにより、Xの2mによる除
算結果Y=YN−1YN−2・・・Y0(X0,Y0が
最下位ビット)を得る。ここにおいて除算結果の最下位
ビット0として、単純にmビットの右シフトを行った結
果得られる値Xmとこの右シフトによって最下位ビット
からこぼれ落ちた値Xm−1,Xm−2,・・・,X0
の論理和(Xm OR Xm−1 OR Xm−2 O
R・・・ OR X0)の結果を採用することにより、
丸め処理をする。
Description
に詳細にはそれに使用する算術装置に関する。
行なわれる多数の計算は整数を2の冪乗で割ることを含
んでいる。たとえば、Haar変換を利用する画像圧縮計算
では隣接ピクセル値の和及び差を2で割る計算が必要で
ある。同様に、2進分数による乗算は複数の加算演算に
分解することができ、ここで1つのオペランドが整数を
2の冪乗で割りこの結果結果を第2の整数に加えること
で生成する。
法は整数をm桁だけ右にシフトすることである。このよ
うなシフトは単一の命令サイクルで実行することができ
る。従って、この手順は重要な利点を持っている。残念
ながら、この方法により得られる結果は常にシフトアウ
トされたビットを捨てて下方に丸められる。このような
下方への丸めを以下の説明では切り捨てと呼ぶ。このよ
うな下方への丸めは多くの状況では許容できるが、これ
が望ましくない場合も多数存在する。たとえば、各計算
が前の計算の結果を用いる一連の計算を行なおうとすれ
ば、すべての計算が切り捨てを利用している場合丸め誤
差は更に大きくなるであろう。
するときある統計的性質を維持するのが重要な場合がし
ばしばある。画像内の隣接ピクセルを平均することによ
り画像の大きさを縮小する場合を考える。つまり、4ピ
クセルから成る各グループを置き換えられる4ピクセル
の平均に等しい値を持つ1つのピクセルで置き換える。
画像はI×Iのピクセルアレイで表される。このピクセ
ルの縮小は先ずアレイの奇数行及び偶数行を平均してI
×I/2の中間アレイを作ることにより達成することがで
きる。この中間アレイの奇数列及び偶数列は次に平均さ
れて最終の(I/2)×(I/2)アレイを発生する。各種平
均化演算が常に切り捨ての場合のように下方への丸めを
行えば、最終画像は元の画像とは異なる統計的性質を持
つことになる。たとえば、縮小された画像は元のアレイ
より低い平均光度を持つことになる。この種のアーティ
ファクトを回避することがしばしば重要になる。
冪乗で割った結果を丸める改良された方法及び装置を提
供することである。
なく整数を2の冪乗で割る方法及び装置を提供すること
である。
は本発明の次の詳細な説明及び付図から明らかになるで
あろう。
までの整数iについてビットXiを有する語Xを、非負
整数であり且つm≦μ≦N−1である整数mについて、
m桁だけシフトして、0から(N−1)までの整数iに
ついてのビットYiを有する語Yを得る装置が与えられ
る。この装置は複数の入力端子を持ち、これら入力装置
の各々は前記ビットXiの1つを受け取り、また0から
(N−1)までの整数iについて、各Xiに対応する入
力端子が1つ存在する。同様に、この装置は0から(N
−1)までの整数iについて各Yiに対応するものが1
つ存在する複数の出力端子を備えている。シフト動作は
複数の多重化回路の支援のもとに達成される。各多重化
回路は出力端子の1つに接続されている。Yiに対応す
る出力端子に接続されている多重化回路はYiに対応す
る出力端子を1から(N−1−m)までの整数iについ
てXi+mに対応する入力端子に接続する。Y0に接続され
ている多重化回路はY0を値(X0 OR X1 OR .....
Xm)を有する信号に接続する。(p+m)>(N−
1)を満足するYpに対応する出力端に接続されている
多重化回路は、Xが符号なしの整数であればYpに対応
する出力端子を論理0に接続する。(p+m)≧(N−
1)を満足するYpに対応する出力端子に接続されてい
る多重化回路は、Xが符号付きの整数であればYpに対
応する出力端子をXN-1に対応する入力端子に接続す
る。
2進数で整数であればXをmだけ右にシフトすることと
等価である。「1」の値を有するビットがシフトによっ
て語からこぼれ落ちた場合、丸め誤差が生じているとい
われる。偏りのない結果に導く可能な丸め方法は2つあ
り、これらを奇数丸め及び偶数丸めという。偶数丸めシ
ステムでは、演算結果は丸め誤差が生ずれば最も近い偶
整数に丸められる。奇数丸めシステムでは、演算結果は
丸め誤差が生ずれば最も近い奇整数に丸められる。浮動
小数点ハードウェアでは偶数丸めが通常採用される。そ
の理由は、ある形態の偶数丸めの方がある種の計算で累
積誤差が少なくなるからである。
実施例のブロツク図である図1を参照する。本発明は、
このようなシステムを実施するのに必要なハードウェア
が整数除算の場合特に簡単であるから奇数丸めシステム
を使用している。整数Xを2mで割った結果Yを考え
る。Xは、0から(N−1)までの整数iについて、ビ
ットXiを有し、またX0はXの最下位ビットであるとす
る。Xは典型的には幾つかのレジスタに保持され、その
ビットは入力線111により本発明の実施例に対して与え
られる。各入力線にはそれが接続されているビットのラ
ベルが付けられている。Yは一組の出力線110に乗って
いるビット信号により表される。シフト動作は、mから
(N−1)までの整数iについて、XiをYi-mに導く多
重化回路の助けを借りて行なわれる。多重化回路の例を
101−104で示してある。一般に、多重化回路は(μ+
1)対1のマルチプレクサである。ここでμはmに許さ
れる最大の数である。μの可能な最大値はN−1であ
る。各マルチプレクサはm番目のマルチプレクサ入力線
上の入力線をディジタル信号mに応答して出力線110に
接続する。
プレクサは、それに対して対応するXビットが存在しな
い多数の入力を備えている。これらの入力は図1に示す
実施例では論理0に接続されているが、当業者には、こ
れらマルチプレクサを、N−1より大きい入力線を選択
すれば論理0に接続されている入力を入力線に接続する
ことにより、入力線の本数が図1に示すものよりも少な
いマルチプレクサで置き換えることができることが明ら
かであろう。しかし、以下の説明を簡単にするため、各
マルチプレクサは(μ+1)対1のマルチプレクサであ
ると仮定する。シフト及び丸め回路100が符号なしの整
数についての演算を行っていれば、マルチプレクサは、
対応するXビットの添字がN−1より大きくなってしま
う場合には論理0に接続される入力を選択する。(p+
m)>(N−1)であれば、Ypに接続されているマル
チプレクサはYpを論理0に接続する。
行っていれば、Yの最上位ビットに接続されているマル
チプレクサがYをXN-1に接続することにより、符号ビ
ットを保存する。従って、(p+m)≧(N−1)であ
れば、Ypに接続されているマルチプレクサがYpをXN-
1が接続されている入力線に接続する。マルチプレクサ
には、これを満足するように接続できる入力せんが常に
1本存在する。
は本発明の実施例に使用されている奇数丸めシステムを
実現する。マルチプレクサ105は丸め信号R及びXのシ
フト桁数を指定するシフト信号mに応答する。丸め信号
Rに応答して奇数丸めを行なうには、マルチプレクサ10
5はマルチプレクサ105へのm番目の入力を選択すること
によりYの最下位ビットを(X0 OR X1 OR .....
Xm)で置き換える。マルチプレクサ105へのm番目の入
力はX0からXmまでの入力を有するOR回路に接続され
ている。OR回路の例を115−117で示してある。シフト
されてこぼれ落ちたXのビットのどれかが「1」であれ
ば、丸め誤差が生じている。この場合には、Yの最下位
ビットは強制的に「1」にさせられる。すなわち、演算
結果は最も近い奇数に丸められる。丸め誤差が生じてい
なければ、Yの最下位ビットはXmである。
誤差はXの値の最下位(m+1)ビットが一様に分布し
ていれば0であることを示すことができる。偶数丸めシ
ステムも丸めにおける偏りを防止していることに注目す
べきである。しかし、偶数丸めシステムを実現するのに
必要なハードウェアは上に記したものよりかなり複雑で
あり、従って奇数丸めシステムの方が望ましい。
面での有用性の見地から説明してきたが、当業者には本
発明が整数ばかりでなく固定小数点での演算にも有用で
あることが明らかであろう。
び付図から当業者には明らかであろう。従って、本発明
の技術的範囲は特許請求の範囲によってのみ限定される
ものである。
け、ビットXi(ここでiは0から(N−1)までの整
数)を有する語Xを、非負整数であり且つm≦μ≦N−
1である整数mについてm桁だけシフトして、ビットY
iを有する語Yを得るシフト及び丸め回路: (a)複数の入力端子:前記入力端子の各々はXiの1つを
受け取り、Xiの各々に対応する1つの前記入力端子が
存在する; (b)複数の出力端子:Yiの各々に対応する前記出力端子
が1つ存在する; (c)複数の第1の多重化回路:前記第1の多重化回路の
各々は前記出力端子の1つに接続され、Yj(jは1か
ら(N−1−m)までの整数)に対応する前記出力端子
に接続されている前記第1の多重化回路はYjに対応す
る前記出力端子をXj+mに対応する前記入力端子に接続
する; (d)第2の多重化回路:前記第2の多重化回路は、Y0に
接続され、Y0をX0ないしXmについて論理和を取った
値を有する信号に接続する。
場合、(p+m)>(N−1)を満足するYpに対応す
る前記出力端子に接続されている前記第2の多重化回路
は、前記Ypに対応する前記出力端子を論理0に接続す
ることを特徴とする実施態様1記載のシフト及び丸め回
路。
場合、(p+m)≧(N−1)を満足するYpに対応す
る前記出力端子に接続されている前記第2の多重化回路
はYpに対応する前記出力端子をXN-1に対応する前記入
力端子に接続することを特徴とする実施態様1記載のシ
フト及び丸め回路。
(d)を設け、ビットXi(iは0から(N−1)までの
整数)を有する語Xをm桁(mはm≦μ≦N−1を満足
する非負整数)だけシフトして、ビットYiを有する語
Yを得る方法: (a)各々が前記ビットXiの1つを受け取り、またXiの
各々に対応するものが1つ存在する複数の入力端子を設
けるステップ; (b)各Yiに対応するものが1つ存在する複数の出力端
子を設けるステップ; (c)Yiに対応する前記出力端子の各々をXi+mに対応す
る前記入力端子に接続するステップ; (d)Y0をX0ないしXmの論理和の値を有する信号に接続
するステップ。
ある場合、(p+m)>(N−1)を満足する前記Yp
に対応する前記出力端子を論理0に接続するステップを
設けたことを特徴とする実施態様4記載の方法。
ある場合、(p+m)≧(N−1)を満足するYpに対
応する前記出力端子を前記XN-1に対応する前記入力端
子に接続するステップを設けたことを特徴とする実施態
様4記載の方法。
2の冪乗による除算を高速かつわずかな丸め誤差で計算
することができる。
Claims (1)
- 【請求項1】以下の(a)ないし(d)を設け、ビットXi
(ここでiは0から(N−1)までの整数)を有する語
Xを、非負整数であり且つm≦μ≦N−1である整数m
についてm桁だけシフトして、ビットYiを有する語Y
を得るシフト及び丸め回路: (a)複数の入力端子:前記入力端子の各々はXiの1つを
受け取り、Xiの各々に対応する1つの前記入力端子が
存在する; (b)複数の出力端子:Yiの各々に対応する前記出力端子
が1つ存在する; (c)複数の第1の多重化回路:前記第1の多重化回路の
各々は前記出力端子の1つに接続され、Yj(jは1か
ら(N−1−m)までの整数)に対応する前記出力端子
に接続されている前記第1の多重化回路はYjに対応す
る前記出力端子をXj+mに対応する前記入力端子に接続
する; (d)第2の多重化回路:前記第2の多重化回路は、Y0に
接続され、Y0をX0ないしXmについて論理和を取った
値を有する信号に接続する。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US158,640 | 1993-11-29 | ||
US08/158,640 US5424967A (en) | 1993-11-29 | 1993-11-29 | Shift and rounding circuit and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07200265A true JPH07200265A (ja) | 1995-08-04 |
JP3645298B2 JP3645298B2 (ja) | 2005-05-11 |
Family
ID=22569042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31931294A Expired - Fee Related JP3645298B2 (ja) | 1993-11-29 | 1994-11-29 | シフト及び丸め回路及びその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5424967A (ja) |
EP (1) | EP0655675B1 (ja) |
JP (1) | JP3645298B2 (ja) |
DE (1) | DE69423073T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100621968B1 (ko) * | 1998-12-25 | 2006-09-13 | 후지쯔 가부시끼가이샤 | 스티키 비트값 예측 회로 및 이것을 구비한 반도체 장치 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917741A (en) * | 1996-08-29 | 1999-06-29 | Intel Corporation | Method and apparatus for performing floating-point rounding operations for multiple precisions using incrementers |
KR100265358B1 (ko) * | 1997-05-22 | 2000-09-15 | 김영환 | 고속의쉬프팅장치 |
US6148317A (en) * | 1998-08-14 | 2000-11-14 | Qualcomm Incorporated | Method and apparatus for compressing signals in a fixed point format without introducing a bias |
US6243728B1 (en) * | 1999-07-12 | 2001-06-05 | Sony Corporation Of Japan | Partitioned shift right logic circuit having rounding support |
US7689640B2 (en) * | 2005-06-06 | 2010-03-30 | Atmel Corporation | Method and apparatus for formatting numbers in microprocessors |
GB2604655B (en) * | 2021-03-12 | 2023-08-09 | Imagination Tech Ltd | Method of performing hardware efficient unbiased rounding of a number |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6398729A (ja) * | 1986-10-15 | 1988-04-30 | Fujitsu Ltd | バレルシフタ |
JPH073653B2 (ja) * | 1987-06-30 | 1995-01-18 | 三菱電機株式会社 | シフタ |
US4901263A (en) * | 1988-09-12 | 1990-02-13 | General Electric Company | Versatile data shifter with sticky bit generation capability |
US4931970A (en) * | 1989-01-13 | 1990-06-05 | International Business Machines Corporation | Apparatus for determining if there is a loss of data during a shift operation |
US4999796A (en) * | 1989-12-14 | 1991-03-12 | Motorola, Inc. | Sticky bit detection and shifting logic |
JPH05503178A (ja) * | 1990-11-09 | 1993-05-27 | アダプティブ・ソリューションズ・インコーポレーテッド | 偏りのないビット廃棄装置および方法 |
-
1993
- 1993-11-29 US US08/158,640 patent/US5424967A/en not_active Expired - Lifetime
-
1994
- 1994-07-08 DE DE69423073T patent/DE69423073T2/de not_active Expired - Fee Related
- 1994-07-08 EP EP94110670A patent/EP0655675B1/en not_active Expired - Lifetime
- 1994-11-29 JP JP31931294A patent/JP3645298B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100621968B1 (ko) * | 1998-12-25 | 2006-09-13 | 후지쯔 가부시끼가이샤 | 스티키 비트값 예측 회로 및 이것을 구비한 반도체 장치 |
Also Published As
Publication number | Publication date |
---|---|
DE69423073T2 (de) | 2000-11-16 |
EP0655675B1 (en) | 2000-02-23 |
JP3645298B2 (ja) | 2005-05-11 |
US5424967A (en) | 1995-06-13 |
EP0655675A1 (en) | 1995-05-31 |
DE69423073D1 (de) | 2000-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5187679A (en) | Generalized 7/3 counters | |
US5590067A (en) | Method and arrangement for transformation of signals from a frequency to a time domain | |
Lai et al. | A data-interlacing architecture with two-dimensional data-reuse for full-search block-matching algorithm | |
US6601077B1 (en) | DSP unit for multi-level global accumulation | |
US6081823A (en) | Circuit and method for wrap-around sign extension for signed numbers | |
US5367477A (en) | Method and apparatus for performing parallel zero detection in a data processing system | |
US7308471B2 (en) | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding | |
US20060248137A1 (en) | Apparatus and method for implementing floating point additive and shift operations | |
US6715066B1 (en) | System and method for arranging bits of a data word in accordance with a mask | |
US6301599B1 (en) | Multiplier circuit having an optimized booth encoder/selector | |
EP0416869B1 (en) | Digital adder/accumulator | |
US4764888A (en) | N-bit carry select adder circuit with double carry select generation | |
JP3645298B2 (ja) | シフト及び丸め回路及びその方法 | |
US5689592A (en) | Parallel processing of digital signals in a single arithmetic/logic unit | |
US5081607A (en) | Arithmetic logic unit | |
US7024445B2 (en) | Method and apparatus for use in booth-encoded multiplication | |
US6269385B1 (en) | Apparatus and method for performing rounding and addition in parallel in floating point multiplier | |
US6629239B1 (en) | System and method for unpacking and merging bits of a data world in accordance with bits of a mask word | |
US20030158880A1 (en) | Booth encoder and partial products circuit | |
EP0568373A2 (en) | Parallelized magnitude comparator | |
US4142239A (en) | Apparatus for generating digital streams having variable probabilities of error | |
CN110890895B (zh) | 借助表示法变换执行极化解码的方法及相关极化解码器 | |
US6263357B1 (en) | Parallel multiplier | |
US6073156A (en) | Circuit and method for wrap-around sign extension for signed numbers using replacement of most significant bit | |
US20230368496A1 (en) | Super resolution device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040913 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040915 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040922 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050203 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |