DE4125120A1 - Binaerer akkumulator mit ueberlaufschutz - Google Patents

Binaerer akkumulator mit ueberlaufschutz

Info

Publication number
DE4125120A1
DE4125120A1 DE19914125120 DE4125120A DE4125120A1 DE 4125120 A1 DE4125120 A1 DE 4125120A1 DE 19914125120 DE19914125120 DE 19914125120 DE 4125120 A DE4125120 A DE 4125120A DE 4125120 A1 DE4125120 A1 DE 4125120A1
Authority
DE
Germany
Prior art keywords
word
detector
input
accumulator
signal
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.)
Withdrawn
Application number
DE19914125120
Other languages
English (en)
Inventor
Anton Dipl Ing Hans
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.)
Alcatel Lucent Deutschland AG
Original Assignee
Standard Elektrik Lorenz AG
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 Standard Elektrik Lorenz AG filed Critical Standard Elektrik Lorenz AG
Priority to DE19914125120 priority Critical patent/DE4125120A1/de
Publication of DE4125120A1 publication Critical patent/DE4125120A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • 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/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft einen binären Akkumulator gemäß dem Oberbegriff von Anspruch 1.
Binäre Akkumulatoren werden in vielen Gebieten der digitalen Signalverarbeitung, z. B. in Prozessoren und digitalen Filtern, eingesetzt. Ein Akkumulator ist grundsätzlich aus einem Addierwerk und einem damit verbundenen Speicher versehen. Die Aufgabe eines Akkumulators besteht darin, den Wert eines eingehenden binären Wortes - nachfolgend Eingangswort genannt - einem gespeicherten Wert hinzuzuaddieren und dieses Ergebnis an den Speicher weiterzuleiten. Das jeweils gebildete Wort wird im folgenden Akkumulatorwort genannt. Um sicherzustellen, daß ein neugebildetes Akkumulatorwort durch den Wertebereich des Akkumulators darstellbar ist (der Akkumulator also nicht überläuft), wird der Akkumulator im allgemeinen mit einer Stellenzahl ausgestattet, welche diejenige des Eingangswortes deutlich übersteigt. Auch bei noch so großer Akkumulatorwortbreite kann jedoch ein Überlauf nicht ausgeschlossen werden.
Aus der Product Description zum TMS320C25 Digital Signal Processor der Firma Texas Instruments, 1986 ist ein Akkumulator angegeben, bei dem der Überlauf des Addierwerks angezeigt und je nach Vorzeichen des Überlaufs das Akkumulatorwort auf den größtmöglichsten oder kleinstmöglichsten Wert gesetzt wird (Seite 11, Spalte 1, Absatz 4). Der Nachteil dieser Schaltung liegt nun darin, daß sie erst nach überlauf des Addierwerkes reagiert, was zu einer Begrenzung der Arbeitsgeschwindigkeit des Akkumulators führt.
Der Erfindung liegt die Aufgabe zugrunde, einen Akkumulator zu schaffen, der eine schnellere Arbeitsgeschwindigkeit ermöglicht.
Die Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst.
Vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen zu entnehmen.
Ein Ausführungsbeispiel der Erfindung wird anhand der Fig. 1 und 2 dargestellt. Die Figuren zeigen:
Fig. 1 ein Blockschaltbild eines erfindungsgemäßen Akkumulators, und
Fig. 2 eine konkrete Schaltungsausführung des erfindungsgemäßen Akkumulators.
In Fig. 1 ist ein erfindungsgemäßer binärer Akkumulator AK im Blockschaltbild abgebildet. Er besteht aus einem Addierwerk AW mit parallelen Signaleingängen E0, E1 für ein 2-Bit-Wort und parallelen Signalausgängen S0′ bis S7′ für ein 8-Bit-Wort. Die Signalausgänge S0′ bis S7′ sind mit den Signaleingängen S0′′ bis S7′′ mit einer Speichereinheit SE verbunden. Die Speichereinheit SE weist noch acht Signalausgänge S0 bis S7 auf, die die Ausgänge des Akkumulators AK darstellen. Die Signaleingänge E1, E0 stellen den Eingang des Akkumulators AK dar. Ein Detektor DE ist mit den Signalausgängen S4 bis S7, an dem die höchstwertigen Bits anliegen, zur Ermittlung der Extremwerte des 8-Bit-Signalworts, die den vorgegebenen Wertebereich begrenzen, verbunden und zeigt das Erreichen der vorgegebenen Extremwerte über die Leitung DS der Setzeinrichtung SR an, wobei, wie in Fig. 1 abgebildet, beispielsweise ein Bit des 8-Bit-Wortes gesetzt wird. Das Bit wird am Signaleingang der Speichereinheit SE gesetzt.
Das gespeicherte Wort, im folgenden Akkumulatorwort genannt, ist im Ausführungsbeispiel in Zweierkomplementärarithmetik dargestellt, d. h., daß das höchstwertige Bit eines Wortes mit definierter Breite negativ gewichtet ist. Im Ausführungsbeispiel besteht das Eingangswort aus 2 Bit. Dieses Eingangswort wird im Akkumulator AK in ein Wort mit einer Breite von 8 Bit umgewandelt und zum im Akkumulator gespeicherten alten Akkumulatorwort, das ebenfalls ein 8-Bit-Wort darstellt, addiert und bildet somit das neue Akkumulatorwort. Die Bits des Akkumulatorworts sind im folgenden mit den Nummern 0 bis 7 versehen. Das Bit Nr. 7 ist das höchstgewichtige Bit, das Bit Nr. 0 ist das niedrigstgewichtige Bit.
Für das Ausführungsbeispiel bedeutet dies, daß der kleinstmögliche Wert des Eingangswortes -2dezimal und der größtmögliche Wert des Eingangswortes +1dezimal′ der Wert des kleinstmöglichen Akkumulatorworts -128dezimal und der des größtmöglichen Akkumulatorworts +127dezimal beträgt.
Beim vorliegenden Akkumulator AK werden die 4 höchstwertigen Bits des Akkumulatorwortes detektiert und angezeigt, ob ein vorgegebener Minimalwert oder Maximalwert unter- oder überschritten wird. Da nur die 4 höchstwertigen Bits erfaßt werden, zeigt der Detektor lediglich an, ob der am Ausgang der Speichereinheit SE anliegende Wert den Minimalwert 10001111binär (-113dezimal) erreicht oder unterschreitet, oder den Maximalwert 01110000binär (112dezimal) erreicht oder überschreitet. Der Betrag des Maximal- als auch der des Minimalwertes können erhöht werden, wenn auch noch das Bit Nr. 3 des Akkumulatorwortes mitdetektiert wird.
Wird der Maximalwert oder ein darüberliegender Wert detektiert, so wird dasjenige kleinste Bit des Akkumulatorwortes über den Detektor DE und der Setzeinrichtung SR auf 0 gesetzt, dessen Wertigkeit größer ist als dasjenige des größtmöglichen Eingangswortes. Im Ausführungsbeispiel wird das Bit Nr. 2 des Akkumulatorwortes gesetzt, da das größtmögliche Eingangswort nur die beiden Bits Nr. 0 und 1 umfaßt. Das Akkumulatorwort kann auf diese Weise bei gesetztem Bit Nr. 2 nicht weiterwachsen. Laufen weiterhin Eingangsworte mit positivem Dezimalwert 1 ein, so bleiben die höchstwertigen Bits Nr. 3 bis 7 des Akkumulatorwortes konstant. Das Bit Nr. 2 bleibt mit 0 gesetzt. Laufen Eingangsworte mit negativem Dezimalwert ein, so werden diese vom Akkumulatorwort abgezogen.
Nach erstmaligem Unterschreiten des Maximalwertes arbeitet der Akkumulator AK wieder korrekt.
Entsprechend umgekehrt verhält es sich, wenn der Minimalwert oder ein darunterliegender Wert detektiert und das Bit Nr. 2 mit einer logischen 1 gesetzt wird.
Der Akkumulator AK arbeitet somit nach einem Verfahren, bei dem in einer ersten Taktperiode ein Eingangswort im Addierwerk AW addiert, einer Speichereinheit SE zugeführt und erst in der nächsten Taktperiode an den Ausgang der Speichereinheit SE geschoben und dort detektiert wird. Gesetzt wird nicht das detektierte Akkumulatorwort, sondern das um eine Taktperiode später ermittelte Akkumulatorwort.
Um ein Überlaufen des Addierwerks AW zu verhindern, muß das Gewicht des gesetzten Teils des Akkumulatorwortes größer sein als das Gewicht des Eingangswortes.
Da beim erfindungsgemäßen Akkumulator das Addieren und das Detektieren eines Akkumulatorwortes nicht in einer Taktperiode stattfindet, sondern das Detektieren um eine Taktperiode verzögert durchgeführt wird, kann die Taktfrequenz bei gegebenem Addierwerk und bei gegebener Speichereinheit erhöht werden.
Das Akkumulatorwort kann neben der Darstellung in Zweierkomplementärarithmetik auch in anderer Form dargestellt sein, nämlich z. B. bei der Verwendung einer Abart eines sogenannten Carry-Save-Addierers, bei dem eine oder mehrere Stellen des Carry-Übertrags unterbrochen und zusätzliche Carrybits neben den Summenbits herausgeführt werden. In diesem Fall treten in einigen Wertigkeiten zwei statt nur ein Bit auf und ein nachfolgender Verschmelzungsaddierer muß aus diesem Summenwort und einzelnen Carrybits (in verschiedenen Wertigkeiten) ein einziges Summenwort bilden.
In Fig. 2 ist eine Schaltungsausführung des erfindungsgemäßen Akkumulators AH abgebildet. Das Addierwerk AW besteht aus acht 1-Bit-Volladdierern VA0 bis VA7 mit seriellem Übertrag. Der Obertragseingang C des Volladdierers VA0 ist mit 0 gesetzt. Anstelle des Volladdierers VA0 kann auch ein Halbaddierer angeordnet sein. Der Übertragsausgang des Volladdierers VA7 wird nicht genutzt. Der Signalausgang S jedes Volladdierers VA0 bis VA7 ist jeweils mit dem Signaleingang D eines D-Flip-Flops FF0 bis FF7 verbunden. Die Gesamtheit der D-Flip-Flops FF0 bis FF7 stellt die Speichereinheit SE dar. Der Ausgang Q jedes D-Flip-Flops FF1 bis FF7 ist jeweils auf einen Additionseingang B desjenigen Volladdierers zurückgeführt, mit dem er über den Signalausgang S verbunden ist. Der Additionseingang A des Volladdierers VA0 ist mit dem Akkumulatoreingang E0 verbunden. Die Additionseingänge A der restlichen Volladdierer VA1 bis VA7 sind gemeinsam mit dem Akkumulatoreingang E1 verbunden. Durch diese Verknüpfung wird die Transformation des 2 Bit breiten Eingangswortes in das 8 Bit breite Akkumulatorwort vorgenommen. Der Ausgang Q der D-Flip-Flops FF0 bis FF7 ist jeweils auf einen Akkumulatorausgang S0 bis S7 geführt.
Der Detektor DE besteht aus zwei logischen UND-Schaltungen G1 und G2 und einer logischen ODER-Schaltung G3. Die beiden Eingänge der logischen ODER-Schaltung G3 sind mit den Ausgängen der beiden UND-Schaltungen G1 und G2 verknüpft. Zum Detektieren werden die vier höchstwertigen Bits herangezogen. Die UND-Schaltung G1 dient zum Detektieren des Minimalwertes, hierzu sind ihre Eingänge jeweils mit einem Ausgang des D-Flip-Flops FF4 bis FF7 verbunden, wobei die Verbindungen mit den Ausgängen der D-Flip-Flops FF4 bis FF6 negiert sind. Liegt der kleinstmöglichste Wert der vier höchstwertigen Bits, nämlich 1000binär vor, so liegt am Ausgang der UND-Schaltung G1 eine logische 1 an. Dies bedeutet, daß der Minimalwert detektiert ist. Für sämtliche anderen Werte der vier höchstgewichtigen Bits liegt am Ausgang der UND-Schaltung G1 eine logische 0 an.
Die UND-Schaltung G2 dient zur Detektion des Maximalwertes, hierzu sind die Eingänge der UND-Schaltung G2 jeweils mit den Ausgängen der D-Flip-Flops FF4 bis FF7 verbunden, wobei die Verbindung mit dem Ausgang des D-Flip-Flops FF7 negiert ist. Liegt der größtmöglichste Wert der vier höchstgewichtigsten Bits, nämlich 0111binär vor, so liegt am Ausgang der UND-Schaltung G2 eine logische 1 an. Dies bedeutet, daß der Maximalwert detektiert ist. Für sämtliche andere Werte der vier höchstgewichtigen Bits liegt am Ausgang der UND-Schaltung G2 eine logische 0 an.
Über den Ausgang der ODER-Schaltung G3 wird der als Setzeinrichtung verwendete Selektor SEL gesteuert, der zwischen dem Signalausgang S des 1-Bit-Volladdierers VA2 und dem Signaleingang D des D-Flip-Flops FF2 angeordnet ist. Dabei ist der Signalausgang S auf einen ersten Eingang IN0 des Selektors SEL und der Ausgang Out auf den Eingang D des D-Flip-Flops geführt. Ein zweiter Signaleingang IN1 ist mit dem Ausgang der logischen UND-Schaltung G1 verbunden.
Liegt nun am Ausgang der logischen UND-Schaltung G1 oder am Ausgang der logischen UND-Schaltung G2 eine 1 an, so wird der Selektor SEL jedenfalls über die ODER-Schaltung G3 mit einer logischen 1 angesteuert. In diesem Fall wird der Signaleingang IN1 durchgeschaltet und das Bit Nr. 2 des Akkumulatorwortes mit dem an dem Signaleingang IN1 an liegenden Bit gesetzt. Ist Minimalwert detektiert, liegt am Signaleingang IN1 eine 1 an, wird Maximalwert detektiert, liegt am Signaleingang IN0 eine 0 an. Für den Fall, daß weder der Minimalwert noch der Maximalwert detektiert werden, liegt am Steuereingang des Selektors SEL eine logische 0 an und der Eingang IN0 des Selektros SEL wird durchgeschaltet.
Im Schaltungsbeispiel besteht das Addierwerk aus acht 1-Bit-Volladdierern, grundsätzlich kann es auch aus einer Kombination von anderen Addierern, wie z. B. von zwei 4-Bit-Volladdierern oder aus einem 8-Bit-Volladdierer bestehen. Die Verwendung von acht D-Flip-Flops als Speichereinheit SE stellt sich in Verbindung mit den acht 1-Bit-Volladdierern als vorteilhafte Ausgestaltung kar. Grundsätzlich kann auch eine andere Speichereinheit verwendet werden. Der Detektor und die Setzeinrichtung können ebenfalls in beliebiger Weise realisiert werden, so kann alternativ zum Schaltungsbeispiel anstelle des D-Flip- Flops FF2 ein Flip-Flop mit zwei Setzeingängen angeordnet werden, bei dem die Ausgänge der logischen UND-Schaltungen G1 und G2 jeweils auf einen Setzeingang des D-Flip-Flops geführt sind. In diesem Falle entfallen die logische ODER-Schaltung G3 und der Selektor SEL.

Claims (5)

1. Binärer Akkumulator zum Ermitteln eines binären Wortes mit Überlaufschutz, der ein Addierwerk, eine Speichereinheit, einen Detektor und eine Setzeinrichtung aufweist, bei dem das Addierwerk mit der Speichereinheit verbunden ist, bei dem ein Eingangswort einem gespeicherten Wort hinzuaddiert wird, bei dem der Detektor überprüft, ob die Werte des gespeicherten Wortes innerhalb eines vorgegebenen Wertebereichs liegen und für den Fall, daß die Werte des gespeicherten Wortes außerhalb des vorgegebenen Wertebereichs liegen, ein Setzsignal generiert, dadurch gekennzeichnet, daß der Detektor (DE) nur Extremwerte des gespeicherten Wortes überprüft und bei Vorliegen von Werten außerhalb des vorgegebenen Wertebereichs über die Setzeinrichtung (SR, SEL) ein Teil des gespeicherten Wortes gesetzt wird, wobei das Gewicht des gesetzten Teils größer als dasjenige des größtmöglichen Eingangswortes ist.
2. Akkumulator nach Anspruch 1, dadurch gekennzeichnet, daß der vorgegebene Wertebereich die höchstwertigen Bits des gespeicherten Wortes enthält.
3. Akkumulator nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß der Detektor (DE) direkt mit dem Signalausgang der Speichereinheit (SE) verbunden ist und die Setzeinrichtung (SR, SEL) mit einem Signaleingang oder einem Setzeingang der Speichereinheit (SE) verbunden ist.
4. Akkumulator nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das gespeicherte Wort in Zweierkomplementärarithmetik dargestellt ist.
5. Akkumulator nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß das Addierwerk (AW) eine Vielzahl von in Reihe geschalteter 1-Bit-Volladdierer (VA0 bis VA7) aufweist, die jeweils mit einem, in ihrer Gesamtheit die Speichereinheit (SE) bildenden, D-Flip-Flop (FF0 bis FF7) verbunden sind, daß die Setzeinrichtung (SR) einen Selektor (SEL) mit zwei Signaleingängen (IN0, IN1) darstellt, der durch den Detektor (DE) angesteuert wird und dessen erster Signaleingang (IN0) mit dem Signalausgang eines 1-Bit-Volladdierers (AV2), dessen zweiter Signaleingang (IN1) mit dem Setzausgang des Detektors (DE) und dessen Signalausgang mit dem Signaleingang eines D-Flip-Flops (FF2) verbunden ist.
DE19914125120 1991-07-30 1991-07-30 Binaerer akkumulator mit ueberlaufschutz Withdrawn DE4125120A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19914125120 DE4125120A1 (de) 1991-07-30 1991-07-30 Binaerer akkumulator mit ueberlaufschutz

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19914125120 DE4125120A1 (de) 1991-07-30 1991-07-30 Binaerer akkumulator mit ueberlaufschutz

Publications (1)

Publication Number Publication Date
DE4125120A1 true DE4125120A1 (de) 1993-02-04

Family

ID=6437259

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914125120 Withdrawn DE4125120A1 (de) 1991-07-30 1991-07-30 Binaerer akkumulator mit ueberlaufschutz

Country Status (1)

Country Link
DE (1) DE4125120A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2772946A1 (fr) * 1997-12-23 1999-06-25 Sgs Thomson Microelectronics Procede de determination d'un depassement de format du resultat d'une operation arithmetique realisee sur deux operandes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2772946A1 (fr) * 1997-12-23 1999-06-25 Sgs Thomson Microelectronics Procede de determination d'un depassement de format du resultat d'une operation arithmetique realisee sur deux operandes
US6321248B1 (en) 1997-12-23 2001-11-20 Stmicroelectronics S.A. Process for determining an overflow to the format of the result of an arithmetic operation carried out on two operands

Similar Documents

Publication Publication Date Title
DE2246968C2 (de) Einrichtung zur Multiplikation zweier Gleitkommazahlen
DE2523860C3 (de) Vorrichtung zur digitalen, linearen Interpolation einer fabulierten Funktion
DE2418653C3 (de) Vorrichtung zum Anzeigen eines Extremwertes einer Folge von Digitalwerten
DE3700323C2 (de)
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE2150878B2 (de) Rekursives digitales Filter
DE3303269C2 (de)
DE2405858A1 (de) Normalisierendes verschiebezaehlernetzwerk
DE3434777C2 (de)
DE3440680C2 (de)
DE2848096C3 (de) Digitale Addieranordnung
DE3340362C2 (de)
DE4125120A1 (de) Binaerer akkumulator mit ueberlaufschutz
DE2235802A1 (de) Verfahren und einrichtung zur pruefung nichtlinearer schaltkreise
DE2719147C2 (de) Programmierbarer Teiler
DE1135217B (de) UEberlaufanzeige
DE2636028A1 (de) Digitaler multiplizierer
DE2142636C3 (de) Rechenwerk für die Durchführung digitaler Multiplikationen
EP0195284A2 (de) Vorrichtung, um die Anzahl der 1/0 Bits in einem n-Bit Binärwort zu zahlen
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE2126630A1 (de) Gerät zur Datenverschiebung in einem langen Register
DE2438592C2 (de) Einrichtung zur division nach der methode der iterativen substraktion
DE1283571B (de) Volladdierer mit geringer UEbertragslaufzeit
DE2347940C3 (de) Schaltungsanordnung mit einem Umlaufspeicher zum Zählen von Impulsen und zur Durchführung von Additionen und Subtraktionen
DE2140386A1 (de) Digitalrechengerat

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: ALCATEL SEL AKTIENGESELLSCHAFT, 7000 STUTTGART, DE

8139 Disposal/non-payment of the annual fee