DE4125120A1 - Binaerer akkumulator mit ueberlaufschutz - Google Patents
Binaerer akkumulator mit ueberlaufschutzInfo
- 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
Links
Classifications
-
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
- G06F7/5095—Adding; 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
-
- 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/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, 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.
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)
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 |
-
1991
- 1991-07-30 DE DE19914125120 patent/DE4125120A1/de not_active Withdrawn
Cited By (2)
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 |