DE69423073T2 - Schaltung und Verfahren zur Verschiebung und Abrundung - Google Patents

Schaltung und Verfahren zur Verschiebung und Abrundung

Info

Publication number
DE69423073T2
DE69423073T2 DE69423073T DE69423073T DE69423073T2 DE 69423073 T2 DE69423073 T2 DE 69423073T2 DE 69423073 T DE69423073 T DE 69423073T DE 69423073 T DE69423073 T DE 69423073T DE 69423073 T2 DE69423073 T2 DE 69423073T2
Authority
DE
Germany
Prior art keywords
bits
output terminal
multiplexer
signal
terminal corresponding
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
DE69423073T
Other languages
English (en)
Other versions
DE69423073D1 (de
Inventor
Ruby Bei-Loh Lee
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69423073D1 publication Critical patent/DE69423073D1/de
Publication of DE69423073T2 publication Critical patent/DE69423073T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49952Sticky bit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding 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)

Description

    Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Computer und spezieller auf arithmetische Einheiten zur Verwendung in diesen.
  • Hinterrund der Erfindung
  • Viele Berechnungen, die auf digitalen Computern durchgeführt werden, umfassen die Division einer ganzen Zahl durch eine Zweierpotenz. Z. B. erfordern Bildkomprimierungsberechnungen, die die Haar-Transformation verwenden, die Berechnung der Summe und der Differenzen von angrenzenden Pixelwerten, die durch zwei geteilt werden. Auf ähnliche Weise kann die Multiplikation mit einem binären Bruch in eine Vielzahl von Additionsoperationen zerlegt werden, bei denen ein Operand durch die Division einer ganzen Zahl durch eine Zweierpotenz und die nachfolgende Addition des Ergebnisses zu einer zweiten ganzen Zahl erzeugt wird.
  • Das schnellste Verfahren zum Durchführen einer Division einer ganzen Zahl durch 2 m ist es, die ganze Zahl um m Plätze nach rechts zu verschieben. Solche Verschiebungen können in einem einzigen Instruktionszyklus durchgeführt werden. Deshalb hat das Verfahren deutliche Vorteile. Bedauerlicherweise ist das auf diesem Verfahren beruhende Ergebnis immer abgerundet, wobei die nach außen verschobenen Bits gestrichen werden. In der folgenden Diskussion wird dies als abschneidendes Runden (truncation rounding) bezeichnet. Während ein solches Abrunden unter manchen Umständen akzeptabel sein kann, gibt es eine Anzahl von Fällen, bei denen dies nicht gewünscht ist. Falls z. B. eine Berechnungssequenz durchgeführt werden muß, bei der jede Berechnung von dem Ergebnis der vorhergehenden Berechnung abhängt, wird der Rundungsfehler größer, wenn sämtliche Berechnungen das abschneidende Runden verwenden.
  • Zusätzlich ist es oft wichtig, bestimmte statistische Eigenschaften beizubehalten, wenn mit einem großen Satz von Werten gearbeitet wird. Man beachte den Fall, bei dem ein Bild durch Mittelwertbildung angrenzender Pixel in dem Bild in seiner Größe reduziert werden muß. Das bedeutet, daß jede Gruppe von vier Pixeln durch ein Pixel ersetzt werden muß, das einen Wert aufweist, der dem Durchschnitt der vier ersetzten Pixel entspricht. Das Bild wird durch eine IxI-Pixel-Anordnung dargestellt. Die Pixelreduktion kann durch eine Mittelwertbildung der ungeraden und der geraden Reihen in der Anordnung durchgeführt werden, um eine IxI/2- Pixel-Anordnung zu erzeugen. Die ungeraden und die geraden Spalten dieser Zwischenanordnung werden dann einer Mittelwertbildung unterzogen, um die abschließende (I/2)x(I/2)- Anordnung zu erzeugen. Falls unterschiedliche Mittelwertbildungen immer mittels der abschneidenden Rundung abrunden, wird das abschließende Bild von dem ursprünglichen Bild abweichende statistische Eigenschaften aufweisen. Z. B. wird das reduzierte Bild eine geringere durchschnittliche Lichtintensität aufweisen als die ursprüngliche Anordnung. Es ist oft wichtig, daß diese Art von Artifakten vermieden wird.
  • In der WO92/09032 ist ein Rundungsalgorithmus offenbart. Der Algorithmus umfaßt die Schritte des Setzens eines Abschneidepunkts in einem Register, wodurch linke und rechte Registersegmente definiert werden, das Laden einer binären Zahl in das linke Register, das Segmentverschieben der abzuschneidenden Bits in das rechte Registersegment, Überprüfen der Bits in dem rechten Registersegment und Übertragen eines rechten Registersignals, das einen "1 "-Wert aufweist, falls eins der Bits in dem rechten Registersegment eine "1" ist, und Übertragen eines rechten Registersignals, das einen " "-Wert hat, falls keines der Bits in dem rechten Registersegment eine "1" ist, und Ersetzen des am wenigsten signifikanten Bits in einem Ergebnisregistersegment mit einer "1", falls das rechte Registersignal einen "1"-Wert aufweist.
  • Ziel der Erfindung ist es, eine verbesserte Vorrichtung und ein Verfahren für eine schnellere Bearbeitung zum Runden der Ergebnisse einer ganzzahligen Division durch eine Zweierpotenz zur Verfügung zu stellen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren zum Dividieren einer ganzen Zahl durch eine Zweierpotenz ohne eine Beeinflussung des Ergebnisses zur Verfügung zu stellen.
  • Diese und andere Ziele der vorliegenden Erfindung werden den Fachleuten anhand der nachfolgenden detaillierten Beschreibung der Erfindung und der begleitenden Abbildungen deutlich werden.
  • Zusammenfassung der Erfindung
  • Der erste Aspekt der vorliegenden Erfindung betrifft eine Vorrichtung, wie sie in dem unabhängigen Anspruch 1 definiert ist. Ein weiterer Aspekt der vorliegenden Erfindung ist ein Verfahren, wie es in Anspruch 4 definiert ist. Weitere Ausführungsformen der vorliegenden Erfindung sind in den anhängigen abhängigen Ansprüchen dargestellt.
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Verschieben der Bits eines Wortes X mit Xi Bits (i = 0 bis (N-1)), um m Stellen, wobei m eine nicht negative ganze Zahl kleiner als n ist, um ein Wort Y mit Y; Bits (i = 0 bis (N-1)) zu erhalten. Die Vorrichtung umfaßt mehrere Eingangsanschlüsse, wobei jeder der Eingangsanschlüsse eines der Bits X; empfängt, und wobei jedem X; (i = 0 bis (N-1)) einer der Eingangsanschlüsse entspricht. Auf ähnliche Weise umfaßt die Vorrichtung eine Vielzahl von Ausgangsanschlüssen, wobei jedem Y; (i = 0 bis (N-1)) einer der Ausgangsanschlüsse entspricht. Der Verschiebevorgang wird mit Hilfe mehrerer Multiplexerschaltungen durchgeführt. Jede Multiplexerschaltung ist mit einem der Ausgangsanschlüsse verbunden. Die Multiplexerschaltung, die mit dem Ausgangsanschluß verbunden ist, der Y; entspricht, verbindet den Ausgangsanschluß, der Y; entspricht, mit dem Eingangsanschluß, der Xi+m (i = 1 bis (N-1-m)) entspricht. Die Multiplexerschaltung, die mit Y0 verbunden ist, verbindet Y&sub0; mit einem Signal, das den Wert (X&sub0; OR X&sub1; OR...Xm) umfaßt. Die Multiplexerschaltung, die mit dem Ausgangsanschluß verbunden ist, der Yp entspricht, wobei (p+m) > (N-1) ist, verbindet den Ausgangsanschluß, der YP entspricht, mit der logischen 0, falls X eine ganze Zahl ohne Vorzeichen ist. Die Multiplexerschaltung, die mit dem Ausgangsanschluß verbunden ist, der YP entspricht, wobei (p+m)≥(N-1) ist, verbindet den Ausgangsanschluß, der YP entspricht, mit der logischen 0, falls X eine ganze Zahl ohne Vorzeichen ist. Die Multiplexerschaltung, die mit dem Ausgangsanschluß verbunden ist, der YP entspricht, wobei (p+m)≥(N-1) ist, verbindet den Ausgangsanschluß, der YP entspricht, mit dem Eingangsanschluß, der Xn-1 entspricht, falls X eine ganze Zahl ohne Vorzeichen ist.
  • Kurze Beschreibung der Abbildungen
  • Fig. 1 ist ein Blockdiagramm einer Schaltung zum Verschieben und Runden gemäß der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • Wie oben angemerkt, entspricht eine Division von X durch 2 m einer Verschiebung von X nach rechts um m, falls X eine ganze Zahl ist, die in binärer Notation dargestellt ist. Falls irgend ein Bit, das einen Wert von "1" hat, von dem Wort wegverschoben wird, dann tritt ein Abrundungsfehler auf. Es gibt zwei mögliche Rundungsverfahren, die zu einem nicht beeinflußten Ergebnis führen. Auf diese wird Bezug genommen als ungerade Rundung (round odd) und gerade Rundung (round even). In einem System mit gerader Rundung wird das Ergebnis auf die nächste gerade ganze Zahl gerundet, falls ein Abrundungsfehler auftritt. In einem System mit ungerader Rundung wird das Ergebnis auf die nächste ungerade ganze Zahl gerundet, falls ein Abrundungsfehler auftritt. Bei Gleithardware wird üblicherweise eine Form des geraden Rundens eingesetzt, weil diese bei bestimmten Arten von Berechnungen zu einem kleineren aufaddierten Fehler führen.
  • Bezugnehmend nun auf die Fig. 1, die ein Blockdiagramm einer Ausführungsform einer Schaltung 100 zum Verschieben und Runden gemäß der vorliegenden Erfindung darstellt. Die vorliegende Erfindung verwendet ein ungerades Rundungssystem, weil die Hardware, die erforderlich ist, um solch ein System zu implementieren, üblicherweise in dem Fall einer Ganzzahldivision besonders einfach ist. Man beachte das Ergebnis Y einer Division einer ganzen Zahl X durch 2 m. Es wird angenommen, daß X Bits Xi (i = 0 bis (N-1)) aufweist, wobei X0 das am wenigsten signifikante Bit von X ist. X wird typischerweise in einem Register gehalten und seine Bits werden gemäß der vorliegenden Erfindung auf Eingangsleitungen 111 dargelegt. Jede der Eingangsleitungen ist mit dem Bit gekennzeichnet, zu dem sie die Verbindung herstellt. Y wird durch die Bitsignale auf einem Satz Ausgangsleitungen 110 dargestellt. Der Verschiebevorgang wird mit Hilfe von Multiplexerschaltungen durchgeführt, die Xi zu Yi-m (i = m bis (N-1)) leiten. Beispielhafte Multiplexerschaltungen sind bei 101 bis 104 dargestellt. Im allgemeinen sind die Multiplexerschaltungen (u+1)-bis-1-Multiplexer, wobei u der maximal erlaubte Wert von m ist. Der maximal mögliche Wert von u ist N-1. Jeder Multiplexer verbindet die Eingangsleitung an der m-ten Multiplexer-Eingangsleitung mit einer Ausgangsleitung 110 in Reaktion auf ein digitales Signal m.
  • Die Multiplexer, die mit den am meisten signifikanten Bits von Y verbunden sind, werden eine Anzahl Eingaben aufweisen, für die es keine entsprechenden X-Bits gibt. Diese Eingaben sind bei der in Fig. 1 gezeigten Ausführungsform mit einer logischen 0 verbunden; es wird jedoch für die Fachleute deutlich sein, daß diese Multiplexer auch durch Multiplexer ersetzt werden können, die eine kleinere Anzahl von Eingängen haben, wobei der Eingang, der mit einer logischen 0 verbunden ist, mit der Ausgangsleitung verbunden ist, wann immer eine Eingangsleitung größer als N-1 ausgewählt worden ist. Um jedoch die nachfolgende Diskussion zu vereinfachen, wird angenommen, daß jeder Multiplexer ein (u+1)-bis-1-Multiplexer ist. Falls die Schaltung 100 zum Verschieben und Runden mit ganzen Zahlen ohne Vorzeichen arbeitet, wählen die Multiplexer Eingänge aus, die mit einer logischen 0 verbunden sind, falls das zugehörige X-Bit größer ist als N-1. Falls (p+m) > (N-1) ist, wird der Multiplexer, der mit YP verbunden ist, YP mit einer logischen 0 verbinden.
  • Falls die Schaltung 100 mit ganzen Zahlen mit Vorzeichen arbeitet, verbinden die Multiplexer, die mit den signifikantesten Bits von Y verbunden sind, Y mit XNI, um das Vorzeichenbit zu sichern. Deshalb verbindet der Multiplexer, der mit YP verbunden ist, YP mit der Eingangsleitung, an der XNI angeschlossen ist, falls (p+m)(N-1) ist. Es wird immer eine solche Eingangsleitung an den Multiplexem geben, für die dies zutrifft.
  • Der Multiplexer 105, der mit Y0 verbunden ist, realisiert das ungerade Rundungssystem, das in einer Ausführungsform der vorliegenden Erfindung verwendet wird. Der Multiplexer 105 reagiert auf ein Rundungssignal R und das Verschiebesignal m, das die Anzahl der Plätze angibt, um die X verschoben werden soll. Um die ungerade Rundung als Reaktion auf ein Rundungssignal R zu realisieren, ersetzt der Multiplexer 105 das am wenigsten signifikante Bit von Y durch (X&sub0; OR X&sub1; OR...Xm) dadurch, daß der m-te Eingang zu dem Multiplexer 105 ausgewählt wird. Der m-te Eingang zum Multiplexer 105 wird mit einer OR-Schaltung verbunden, die Eingänge X0 bis Xm aufweist. Beispielhafte OR-Schaltkreise sind bei 115 bis 117 gezeigt. Falls irgendeiner der Bits, der von X weg verschoben wird, eine "1" ist, dann tritt ein Abrundungsfehler auf. In diesem Fall wird das am wenigsten signifikante Bit von Y zwangsweise auf eine "1" geschaltet. Das bedeutet, daß das Ergebnis zur nächsten ungeraden ganzen Zahl gerundet wird. Falls kein Abrundungsfehler auftritt, wird das am wenigsten signifikante Bit von Y Xm sein.
  • Es kann gezeigt werden, daß der durchschnittliche Fehler, der bei dieser Art der Rundung auftritt, 0 ist, unter der Voraussetzung, daß die am wenigsten signifikanten (m+1) Bits der X- Werte gleichmäßig verteilt sind. Es sollte angemerkt werden, daß ein gerades Rundungssystem ebenfalls eine Beeinflussung beim Runden verhindert. Die Hardware, die notwendig ist, um ein gerades Rundungsschema zu realisieren, ist jedoch signifikant komplexer als die oben beschriebene; deshalb werden ungerade Rundungssysteme bevorzugt.
  • Während die vorliegende Erfindung bezüglich ihres Nutzens bei Situationen, die eine Division einer ganzen Zahl durch 2m betreffen, beschrieben worden ist, wird es für die Fachleute deutlich sein, daß die vorliegende Erfindung ebenso bei Bearbeitungen sowohl mit Festkommazahlen als auch mit ganzen Zahlen geeignet ist.
  • Unterschiedliche Modifikationen der vorliegenden Erfindung werden den Fachleuten anhand der vorhergehenden Beschreibung und der begleitenden Abbildungen offenbar. Dementsprechend wird die vorliegende Erfindung nur durch den Umfang der nachfolgenden Ansprüche begrenzt.

Claims (6)

1. Vorrichtung zum Verschieben der Bits eines Wortes X mit Xi Bits (i = 0 bis (N-1)) um m Stellen, wobei m eine nicht negative, ganze Zahl kleiner als N ist, um ein Wort Y mit Yi Bits (i = 0 bis (N-1)) zu erhalten, die Vorrichtung aufweisend:
- mehrere Signaleingangsanschlüsse (111), wobei jeder der Eingangsanschlüsse eines der Bits Xi empfängt, und wobei jedem X; (i = 0 bis (N-1)) einer der Eingangsanschlüsse entspricht;
- mehrere Signalausgangsanschlüsse (110), wobei jedem Yi (i = 0 bis (N-1)) einer der Ausgangsanschlüsse entspricht;
gekennzeichnet durch
- mehrere Multiplexerschaltungen (101-104), wobei jede der Multiplexerschaltungen mehrere der Eingangsanschlüsse und einen Ausgangsanschluß aufweist, wobei wenigstens einer der Eingangsanschlüsse der Multiplexerschaltung mit einem der Signaleingangsanschlüsse verbunden ist, wobei der Ausgangsanschluß jeder der Multiplexerschaltungen mit einem der Signalausgangsanschlüsse verbunden ist, wobei die Multiplexerschaltung, die mit dem Signalausgangsanschluß verbunden ist, der Yi entspricht, den Yi entsprechenden Signalausgangsanschluß mit dem Signaleingangsanschluß verbindet, der Xi +m (i = 1 bis (N-1-m)) entspricht; und
- eine Multiplexerschaltung (105), die mehrere Eingangsanschlüsse und einen Ausgangsanschluß aufweist, wobei der Ausgangsanschluß mit Y0 verbunden ist, und wobei einer der Eingangsanschlüsse mit einer Schaltung zur Erzeugung eines Signals verbunden ist, das den Wert (X&sub0; OR X&sub1; OR...Xm) aufweist.
2. Vorrichtung nach Anspruch 1, wobei eine Multiplexerschaltung der mehreren Multiplexerschaltungen (101-104), die mit dem Yp entsprechenden Signalausgangsan schluß verbunden ist, wobei (p+m) > (N-1) gilt, den Yp entsprechenden. Signalausgangsanschluß mit logisch 0 verbindet, wenn X eine ganze Zahl ohne Vorzeichen ist.
3. Vorrichtung nach Anspruch 1, wobei eine Multiplexerschaltung der mehreren Multiplexerschaltungen (101-104), die mit dem YP entsprechenden Signalausgangsanschluß verbunden ist, wobei (p+m)≥(N-1) gilt, den Yp entsprechenden Signalausgangsanschluß mit dem Signaleingangsanschluß verbindet, der XN-1 entspricht, wenn X eine ganze Zahl mit Vorzeichen ist.
4. Verfahren zum Verschieben der Bits eines Worts X mit X; Bits (i = 0 bis (N-1)) um m Stellen, wobei m eine nicht negative, ganze Zahl kleiner als N ist, um ein Wort Y mit Y; Bits (i = 0 bis (N-1)) zu erhalten, das Verfahren die folgenden Schritte aufweisend:
- Vorsehen mehrerer Eingangsanschlüsse, wobei jeder der Eingangsanschlüsse eines der X; Bits empfängt, und wobei jedem X; (i = 0 bis (N-1)) einer der Eingangsanschlüsse entspricht;
- Vorsehen mehrerer Ausgangsanschlüsse, wobei jedem Y; (i = 0 bis (N-1)) einer der Ausgangsanschlüsse entspricht;
- Verbinden des Ausgangsanschlusses, der Y; entspricht, mit dem Eingangsanschluß, der X; +m (i = 1 bis (N-1-m)) entspricht, wobei eine oder mehrere Multiplexerschaltungen genutzt werden; und
- Erzeugen eines Signals, das den Wert (X&sub0; OR X&sub1; OR...X,) aufweist, und Verbinden des Signals mit Y0, wobei eine Multiplexerschaltung genutzt wird.
5. Verfahren nach Anspruch 4, wobei der Ausgangsanschluß, der Yp entspricht, mit logisch 0 verbunden wird, wenn X eine ganze Zahl ohne Vorzeichen ist, wobei (p+m)> (N-1) gilt.
6. Verfahren nach Anspruch 4, wobei der Ausgangsanschluß, der Yp entspricht, mit dem Eingangsanschluß verbunden wird, der XN-1 entpricht, wenn X eine ganze Zahl mit Vorzeichen ist, wobei (p+m)≥(N-1) gilt.
DE69423073T 1993-11-29 1994-07-08 Schaltung und Verfahren zur Verschiebung und Abrundung Expired - Fee Related DE69423073T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/158,640 US5424967A (en) 1993-11-29 1993-11-29 Shift and rounding circuit and method

Publications (2)

Publication Number Publication Date
DE69423073D1 DE69423073D1 (de) 2000-03-30
DE69423073T2 true DE69423073T2 (de) 2000-11-16

Family

ID=22569042

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69423073T Expired - Fee Related DE69423073T2 (de) 1993-11-29 1994-07-08 Schaltung und Verfahren zur Verschiebung und Abrundung

Country Status (4)

Country Link
US (1) US5424967A (de)
EP (1) EP0655675B1 (de)
JP (1) JP3645298B2 (de)
DE (1) DE69423073T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
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
JP3418711B2 (ja) 1998-12-25 2003-06-23 富士通株式会社 スティッキービット値予測回路及びこれを備えた半導体装置
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)

* Cited by examiner, † Cited by third party
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 アダプティブ・ソリューションズ・インコーポレーテッド 偏りのないビット廃棄装置および方法

Also Published As

Publication number Publication date
JPH07200265A (ja) 1995-08-04
JP3645298B2 (ja) 2005-05-11
US5424967A (en) 1995-06-13
EP0655675A1 (de) 1995-05-31
EP0655675B1 (de) 2000-02-23
DE69423073D1 (de) 2000-03-30

Similar Documents

Publication Publication Date Title
DE4302898C2 (de) Arithmetische Recheneinheit mit Akkumulierfunktion
DE69632978T2 (de) Multi-Operand-Addierer, der Parallelzähler benutzt
DE3789116T2 (de) Prozessor zur zweidimensionalen diskreten cosinustransformation.
DE69435047T2 (de) Schaltung und Verfahren zur parallelen Addition und Mittelwertbildung
DE69430838T2 (de) Schaltung und Verfahren zur parallelen Verschiebung und Addition
DE69232431T2 (de) Vorrichtung zur Lösung von linearen Gleichungssystem
DE68928058T2 (de) Gerät und verfahren zur prädiktion von gleitkommanormalisierung
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE69116854T2 (de) Digitales fehlerdiffusionsverfahren mit hoher geschwindigkeit zur umsetzung eines kontinuierlichen -in ein binäres- bild
DE4239126A1 (de)
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE3609250C2 (de)
DE3888230T2 (de) Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung.
DE3229247A1 (de) Digitale filterschaltungen
DE4345029C2 (de) Schaltkreis für diskrete Kosinustransformation
DE69423073T2 (de) Schaltung und Verfahren zur Verschiebung und Abrundung
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE3701599A1 (de) Vielfunktions-arithmetisch-logische-schaltung
DE69130553T2 (de) Arithmetisch logische Einheit
DE3434777C2 (de)
DE69225638T2 (de) Abrundungsschaltung in einem Gleitkommamultiplizierer
DE10200133B4 (de) Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen
DE69122855T2 (de) Vorrichtung zur dynamischen stufenwertdiskretisierung
DE3933172A1 (de) Akkumulator fuer komplexe zahlen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE),

8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8339 Ceased/non-payment of the annual fee