DE19748484A1 - Schaltung und Verfahren zur Überlauferfassung bei einem digitalen Signalprozessor - Google Patents
Schaltung und Verfahren zur Überlauferfassung bei einem digitalen SignalprozessorInfo
- Publication number
- DE19748484A1 DE19748484A1 DE19748484A DE19748484A DE19748484A1 DE 19748484 A1 DE19748484 A1 DE 19748484A1 DE 19748484 A DE19748484 A DE 19748484A DE 19748484 A DE19748484 A DE 19748484A DE 19748484 A1 DE19748484 A1 DE 19748484A1
- Authority
- DE
- Germany
- Prior art keywords
- overflow
- operand
- digital signal
- arithmetic logic
- logic unit
- 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
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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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
Description
Die Erfindung betrifft eine Schaltung und ein Verfahren
zur Überlauferfassung bei einem digitalen Signalprozessor
(DSP) mit einem Bitstellenverschieber und einer
Arithmetik-Logik-Einheit (ALU) die in Reihe geschaltet
sind. Insbesondere betrifft die Erfindung einen DSP und
ein Überlauferfassungsverfahren, die einen vom
Bitstellenverschieber ausgegebenen Operanden, einen von
einer Code-Erweiterungseinheit aus gegebenen Operanden und
ein Übertragsignal von der ALU berücksichtigt, um einen
positiven oder negativen Überlaufzustand zu erfassen,
ohne die Leistungsfähigkeit des DSP's herabzusetzen.
Fig. 2 zeigt ein Beispiel eines herkömmlichen DSP, bei
dem ein Bitstellenverschieber mit einem Addierer in Reihe
geschaltet ist. Bei einem typischen Hochgeschwindig
keits-DSP ist ein Bitstellenverschieber 11 im allgemeinen mit
einer ALU in Reihe geschaltet, die eine modifizierte Form
eines Addierers aufweist, wie dies in Fig. 2 dargestellt
ist. Falls während eines einzigen Betriebstaktzyklus die
in Reihe geschalteten Bitstellenverschieber 11 und
Arithmetik-Logik-Einheit (ALU) verwendet werden, kann ein
Überlaufzustand hervorgerufen werden. Normalerweise wird
ein Überlaufdetektor 15 für den Fall vorgesehen, bei dem
sich das Vorzeichen des Überlaufergebnisses während des
Auftretens eines Überlaufereignisses ändert.
Im allgemeinen erzeugt der Überlaufdetektor 15 einen
Maximumwert innerhalb eines effektiven Zahlenbereichs des
DSP von Fig. 2, wenn ein positiver Überlauf erzeugt wird,
und erzeugt einen Minimumwert, wenn ein negativer
Überlauf erzeugt wird. Daher ist es wünschenswert, daß
der Überlaufdetektor 15 den Überlaufzustand erfaßt und
den entsprechenden Wert innerhalb einer kurzen Zeitdauer
ausgibt, so daß die Leistungsfähigkeit des DSP nicht
gemindert wird.
Falls bei der Schaltung von Fig. 2 kein
Bitstellenverschieber 11 vorhanden ist, dann kann der
Überlaufdetektor 15 die Zustände des positiven und
negativen Überlaufs erfassen, indem er die
Übertragsignale der beiden höchstwertigen Bits der ALU 14
verwendet. Wenn jedoch, wie in Fig. 2 dargestellt, der
Bitstellenverschieber 11 zwischen dem Eingang und der ALU
14 angeschlossen ist, dann reicht das oben beschriebene
Verfahren nicht aus, um den Überlaufzustand zu erfassen.
Während des Betriebs des DSPs von Fig. 2 wird durch den
Bitstellenverschieber 11 ein 32-Bit-Operand, der an einem
linken Eingang LEFT eingegeben wird, in einen 40-Bit-Ope
randen umgewandelt und durch eine Code-Er
weiterungseinheit 13 wird ein zweiter 32-Bit-Operand,
der an einem rechten Eingang RIGHT eingegeben wird, in
einen 40-Bit-Operanden umgewandelt. Die resultierenden
40-Bit-Operanden werden in die 40-Bit-ALU 14 eingegeben.
Wenn die ALU 14 in einem Sättigungsmodus betrieben wird,
dann wird durch die ALU 14 ein 40-Bit-Ergebnis erzeugt
und wird an einen Multiplexer 32 ausgegeben, wo unter der
Steuerung des Überlaufdetektors 15 das 40-Bit-Ergebnis
von der ALU 14 in ein 32-Bit-Ergebnis umgewandelt wird.
Ein gesättigtes 32-Bit-Ergebnis ("saturated result")
erscheint am Ausgang des Multiplexers 17. Bei DSP's ist
es üblich, das die Anzahl von Bits der ALU 14 größer ist
als die effektive Zahl von Bits des DSPs.
Ein spezieller Bitstellenverschieber ist notwendig, um
den Überlauf für einen Teil des Ergebnisses, welches
vollständig verlorengeht, zu erfassen, aber bei den
meisten Anwendungen ist es ausreichend, nun den Überlauf
der 40-Bits des Ergebnisses von der ALU 14 zu erfassen.
Daher erfaßt der Überlaufdetektor 15 den Überlauf unter
Verwendung der neun höherwertigen Bits (39 : 31) des
Ergebnisses von der ALU 14 und steuert als Reaktion
hierauf den Multiplexer 17.
Da jedoch der Bitstellenverschieber 11 und die ALU 14
einen kritischen Pfad im DSP darstellen, vermindert die
zusätzliche Bearbeitung des Ergebnisses von der ALU 14
die Leistungsfähigkeit des DSP.
Fig. 3 zeigt ein weiteres, herkömmliches
Überlauferfassungssystem, das im D950-Kern von SGS-hom
son verwendet wird. Unter Verwendung der
Übertragsignale C30 und C31 von der ALU 14 wird beim DSP
von Fig. 3 der Überlaufzustand erfaßt. Da jedoch der
Überlauf nur durch Untersuchung der beiden höherwertigen
Bits der ALU erfaßt werden, ohne einen tatsächlichen
Überlauf zu erfassen, wird bei der Feststellung, ob ein
Überlauf aufgetreten ist, das tatsächliche Ergebnis vom
Bitstellenverschieber 11 nicht beachtet.
Es ist daher Aufgabe der Erfindung, eine Schaltung und
ein Verfahren zum Erfassen des Überlaufs bei einem
digitalen Signalprozessor vorzusehen, die die
Leistungsfähigkeit des digitalen Signalprozessors nicht
vermindern.
Die Aufgabe wird durch den digitalen Signalprozessor nach
Anspruch 1 bzw. das Verfahren nach Anspruch 4 gelöst.
Bei dem digitalen Signalprozessor bzw. bei dem Verfahren
zur Erfassung wird der Überlaufzustand anhand des
Ausgangssignals von einem Bitstellenverschieber, des
Ausgangssignals von einer Code-Erweiterungseinheit und
eines durch eine Arithmetik-Logik-Einheit erzeugten
Übertragsignal erfaßt.
Ein Ausführungsbeispiel eines digitalen Signalprozessors
gemäß der Erfindung schließt einen Bitstellenverschieber,
der eine Dateneingabe A empfängt und durch
Bitstellenverschiebung der Dateneingabe A einen ersten
Operanden erzeugt, der als a2N + A definiert ist, wobei
-2M ≦ a < 2M, 0 ≦ A < 2N und M sowie N ganze Zahlen sind,
und eine Code-Erweiterungseinheit ein, die eine
Dateneingabe B empfängt und durch Code-Erweiterung des
Wertes B einen zweiten Operanden erzeugt, der als b2N + B
definiert ist, wobei b = 0 oder -1 und 0 ≦ B < 2N. Der
digitale Signalprozessor schließt ebenfalls eine
Arithmetik-Logik-Einheit ein, die den ersten Operanden
und den zweiten Operanden empfängt und durch Addieren des
ersten Operanden zum zweiten Operanden ein Ergebnis
erzeugt. Ein Überlaufdetektor des digitalen
Signalprozessors (DSP) empfängt die a-Komponente des
ersten Operanden, die b-Komponente des zweiten Operanden
und ein (N-1)tes-Übertragsignal (CN-1) von der Arithmetik-
Logik-Einheit und erzeugt als Reaktion hierauf ein
Ausgangssignal, das anzeigt, ob durch die
Additionsoperation des ersten und des zweiten Operanden
der Arithmetik-Logik-Einheit ein Überlaufzustand erzeugt
wurde. Ein Ausgangsselektor bzw. eine
Ausgangsauswähleinheit des DSPs empfängt das
Ausgangssignal vom Überlaufdetektor und wählt als
Reaktion hierauf unter den Effektivwerten des DSPs einen
Maximalwert, wenn das Ausgangssignal einen positiven
Überlauf anzeigt, wählt unter den Effektivwerten des DSP
einen Minimumwert aus, wenn das Ausgangssignal einen
negativen Überlaufzustand anzeigt, und wählt einen
effektiven Teil bzw. den Effektivwert des Ergebnisses von
der Arithmetik-Logik-Einheit aus, wenn das Ausgangssignal
keinen Überlaufzustand anzeigt.
Ein Ausführungsbeispiel eines
Überlauferfassungsverfahrens für einen digitalen
Signalprozessor mit einem Bitstellenverschieber und einer
Arithmetik-Logik-Einheit, die in Reihen geschaltet sind,
schließt gemäß der Erfindung das Bitstellenverschieben
eines ersten Dateneingabeoperanden A mittels eines
Bitstellenverschiebers, um einen ersten Operanden zu
erzeugen, der als a2N + A definiert ist, wobei -2M ≦ a <
2M, 0 ≦ A < 2N und M sowie N ganze Zahlen sind, die Code-Er
weiterung eines zweiten Dateneingangsoperanden B, um
einen zweiten Operanden zu erzeugen, der als b2N + B
definiert ist, wobei b = 0 oder -1, 0 ≦ B < 2N, und das
Erzeugen eines (N-1)ten-Übertragsignals CN-1 ein, indem
in der Arithmetik-Logik-Einheit der erste Operand zum
zweiten Operanden addiert wird. Das Verfahren schließt
ebenfalls das Erfassen eines positiven
Überlaufergebnisses, wenn eine der folgenden Bedingungen
wahr ist: (b = 0 und a < 0), (b = -1 und a < 1), {(b = 0
und a = 0) und (CN-1 = 1)} und {(b = -1 und a = 1) und
(CN-1 = 1)}, und das Erfassen eines negativen
Überlaufereignisses ein, wenn eine der folgenden
Bedingungen wahr ist: (b = 0 und a < -2), (b = -1 und a <
-1), {(b = 0 und a = -2) und (CN-1 = 0)} und {(b = -1 und
a = -1) und (CN-1 = 0)}.
Vorteilhafte Ausgestaltungen der Erfindung sind
Gegenstand von Unteransprüchen.
Die Erfindung wird nachstehend anhand der Figuren näher
erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Ausführungsbeispiels
eines DSP gemäß der Erfindung, bei dem ein
Bitstellenverschieber und eine Arithmetik-
Logik-Einheit in Reihe geschaltet sind,
Fig. 2 ein Blockdiagramm eines herkömmlichen DSP, bei
dem ein Bitstellenverschieber mit einer
Arithmetik-Logik-Einheit in Reihe geschaltet
ist, und
Fig. 3 ein Blockdiagramm eines weiteren, herkömmlichen
DSP, bei dem ein Bitstellenverschieber mit
einer Arithmetik-Logik-Einheit in Reihe
geschaltet ist.
Ein in Fig. 1 dargestelltes Ausführungsbeispiel eines
digitalen Signalprozessors (DSP) gemäß der Erfindung
schließt einen Bitstellenverschieber 11 zum Empfangen
eines linken Eingabewerts mit 32 Bit und zum Erzeugen
eines Ausgangswerts mit 40 Bit, eine Code-Er
weiterungseinheit 13 zum Empfangen eines rechten
Eingangswerts mit 32 Bit und zum Erzeugen eines Code
erweiterten Ausgabewerts mit 40 Bit, eine Arithmetik-
Logik-Einheit 14 (ALU), die mit dem Bitstellenverschieber
11 in Reihe geschaltet ist, und einen Überlaufdetektor
150 ein, um einen Multiplexers 17 zu steuern, indem ein
Überlaufzustand des Ausgangswerts des
Bitstellenverschiebers 11, ein Ausgangswert der Code-Er
weiterungseinheit 13 und ein Übertragsignal C30 eines
speziellen, von der ALU 14 erzeugten Bits erfaßt wird.
Der Überlaufdetektor 150 prüft einen Eingangszustand der
neun höherwertigen Bits (31 : 39) des Ausgangswerts des
Bitstellenverschiebers 11, der der ALU 14 zugeführt wird,
ein höherwertiges Bit (31 : 31) des Ausgangswerts der Code-Er
weiterungseinheit 13, der der ALU 14 zugeführt wird,
und das Übertragsignal C30 von der 30sten Bitposition der
ALU 14. Der Überlaufdetektor 150 erfaßt den positiven
Überlauf und den negativen Überlauf unter Verwendung der
Eingangszustände dieser Signale.
Wenn beim Betrieb sowohl der linke Eingangsoperand an die
ALU 14 vom Bitstellenverschieber 11 als auch der rechte
Eingangsoperand an die ALU 14 von der Code-Er
weiterungseinheit 13 jeweils 40 Bits betragen, dann
können die Eingangswerte und der Ausgangswert der ALU 14
dargestellt werden durch:
erster Operand = a2N + A,
zweiter Operand = b2N + B,
Ausgangswert der ALU = a2N + A + b2N + B + Übertrag = (a+b)2N + A + B + Übertrag,
wobei -2M ≦ a < 2M, b = 0 oder -1, 0 ≦ A < 2N, 0 ≦ B < 2N und Übertrag = 0 oder 1.
erster Operand = a2N + A,
zweiter Operand = b2N + B,
Ausgangswert der ALU = a2N + A + b2N + B + Übertrag = (a+b)2N + A + B + Übertrag,
wobei -2M ≦ a < 2M, b = 0 oder -1, 0 ≦ A < 2N, 0 ≦ B < 2N und Übertrag = 0 oder 1.
Falls Operanden mit 32 Bits und 40 Bits bei der ALU 14
verwendet werden, dann ist M = 8 und N = 31.
Falls in der ALU 14 ein positiver Überlaufzustand erzeugt
wird, dann genügt der Ausgangswert der ALU 14 der
folgenden Gleichung:
(a+b)2N + A + B + Übertrag ≧ 2N
was wie folgt geschrieben werden kann:
a + b < 0 oder
a + b = 0 und A + B + Übertrag ≧ 2N.
a + b = 0 und A + B + Übertrag ≧ 2N.
Da b gleich 0 oder -1 ist, muß zum Erfüllen der obigen
Gleichungen:
(b = 0 und a < 0) oder (b = -1 und a < 1) sein oder
{(b = 0 und a = 0) oder (b = -1 und a = 1)} und
(A + B + Übertrag ≧ 2N).
{(b = 0 und a = 0) oder (b = -1 und a = 1)} und
(A + B + Übertrag ≧ 2N).
Da die Gleichung (A + B + Übertrag ≧ 2N) zutrifft, wenn
das Übertragsignal C30 (30ste des Übertragausgangs) von
der ALU 14 gleich 1 ist, genügt ein positiver Überlauf
den folgenden Bedingungen:
(b = 0 und a < 0) oder (b = -1 und a < 1);
oder
{(b = 0 und a 0) oder (b = -1 und a = 1)} und
(C30 = 1) (1).
{(b = 0 und a 0) oder (b = -1 und a = 1)} und
(C30 = 1) (1).
Da a und b Eingangswerte an die ALU 14 sind, können aus
dem Satz von Gleichungen (1) mit Ausnahme des
Übertragsignals C30 die anderen Teile während der
Ausführungsdauer der ALU 14 berechnet werden. Sobald das
Übertragsignal C30 durch die ALU 14 erzeugt ist, kann
dann folglich die Feststellung getroffen werden, ob der
positive Überlauf erzeugt wurde.
Bei einem negativen Überlaufzustand können die
Überlauffeststellungsberechnungen ebenfalls während der
Ausführungszeit der ALU 14 angefertigt werden. Wenn durch
die ALU 14 ein negativer Überlauf erzeugt wird, dann
genügt der Ausgangswert der ALU 14 dem folgenden
Ausdruck:
(a+b)2N + A + B + Übertrag < 2N.
Dies kann wie folgt geschrieben werden:
a + b < -2; oder
a + b = -2 und A + B + Übertrag < 2N.
a + b = -2 und A + B + Übertrag < 2N.
Da b entweder 0 oder -1 ist, muß zur Erfüllung der obigen
Bedingungen gelten:
(b = 0 und a < -2) oder (b = -1 und a < -1);
oder
{(b = 0 und a = -2) oder (b = -1 und a = -1)} und
(A + B + Übertrag < 2N).
{(b = 0 und a = -2) oder (b = -1 und a = -1)} und
(A + B + Übertrag < 2N).
Da der Ausdruck (A + B + Übertrag < 2N) zutrifft, wenn
das Übertragsignal C30 von der ALU 14 gleich 0 ist,
genügt das negative Überlaufereignis den folgenden
Bedingungen:
(b = 0 und a < -2) oder (b = -1 und a < -1);
oder
{(b = 0 und a = -2) oder (b = -1 und a = -1)} und
(C30 = 0) (2).
{(b = 0 und a = -2) oder (b = -1 und a = -1)} und
(C30 = 0) (2).
Da a und b Eingangswerte an die ALU 14 sind, kann anhand
des Gleichungssatzes (2) erkannt werden, daß, abgesehen
vom Übertragsignal C30, die Teile der Gleichung während
der Ausführungsdauer der ALU 14 berechnet werden können.
Daher kann dann, sobald das Übertragsignal C30 durch die
ALU 14 berechnet ist, die Feststellung getroffen werden,
ob der negative Überlauf erzeugt wurde.
Wie oben erwähnt, funktioniert der Überlaufdetektor so,
daß er unter Verwendung der Eingangswerte an die ALU 14
den positiven und negativen Überlaufzustand und den
Übertragausgangswert C30 von der ALU 14 erfaßt. Folglich
berücksichtigt der Überlaufdetektor den Ausgangswert des
Bitstellenverschiebers ohne die Leistungsfähigkeit des
DSP zu vermindern.
Claims (5)
1. Ein digitaler Signalprozessor mit:
einem Bitstellenverschieber (11), um einen Dateneingangswert A zu empfangen und um durch das Bitstellenverschieben des Dateneingangswerts A einen ersten Operanden zu erzeugen, der als a2N + A definiert ist, wobei -2M ≦ a < 2M, 0 ≦ A < 2N und M sowie N ganze Zahlen sind;
einer Code-Erweiterungseinheit (13), um einen Dateneingangswerts B zu empfangen und um durch Code-Er weiterung des Datenwerts B einen zweiten Operanden zu erzeugen, der als b2N + B definiert ist, wobei b = 0 oder -1 und 0 ≦ B < 2N;
einer Arithmetik-Logik-Einheit (14) zum Empfangen des ersten und des zweiten Operanden und zum Erzeugen eines Ergebnisses durch Addieren des ersten Operanden zum zweiten Operanden;
einem Überlaufdetektor (150), um die a-Komponente des ersten Operanden, die b-Komponente des zweiten Operanden und ein (N-1)tes-Übertragsignal CN-1 von der Arithmetik-Logik-Einheit (14) zu empfangen und um als Reaktion hierauf ein Ausgangssignal zu erzeugen, das anzeigt, ob durch die Additionsoperation des ersten und des zweiten Operanden der Arithmetik-Logik-Einheit ein Überlaufzustand erzeugt wurde; und
einem Ausgangsselektor, um ein Ausgangssignal vom Überlaufdetektor (150) zu empfangen und um als Reaktion hierauf unter den effektiven Werten des digitalen Signalprozessors einen Maximumwert auszuwählen, wenn das Ausgangssignal einen positiven Überlaufzustand anzeigt, um einen Minimumwert unter den effektiven Werten des digitalen Signalprozessors auszuwählen, wenn das Ausgangssignal einen negativen Überlaufzustand anzeigt, und um den Effektivwert des Ergebnisses von der Arithmetik-Logik-Einheit auszuwählen, wenn das Ausgangssignal keinen Überlaufzustand anzeigt.
einem Bitstellenverschieber (11), um einen Dateneingangswert A zu empfangen und um durch das Bitstellenverschieben des Dateneingangswerts A einen ersten Operanden zu erzeugen, der als a2N + A definiert ist, wobei -2M ≦ a < 2M, 0 ≦ A < 2N und M sowie N ganze Zahlen sind;
einer Code-Erweiterungseinheit (13), um einen Dateneingangswerts B zu empfangen und um durch Code-Er weiterung des Datenwerts B einen zweiten Operanden zu erzeugen, der als b2N + B definiert ist, wobei b = 0 oder -1 und 0 ≦ B < 2N;
einer Arithmetik-Logik-Einheit (14) zum Empfangen des ersten und des zweiten Operanden und zum Erzeugen eines Ergebnisses durch Addieren des ersten Operanden zum zweiten Operanden;
einem Überlaufdetektor (150), um die a-Komponente des ersten Operanden, die b-Komponente des zweiten Operanden und ein (N-1)tes-Übertragsignal CN-1 von der Arithmetik-Logik-Einheit (14) zu empfangen und um als Reaktion hierauf ein Ausgangssignal zu erzeugen, das anzeigt, ob durch die Additionsoperation des ersten und des zweiten Operanden der Arithmetik-Logik-Einheit ein Überlaufzustand erzeugt wurde; und
einem Ausgangsselektor, um ein Ausgangssignal vom Überlaufdetektor (150) zu empfangen und um als Reaktion hierauf unter den effektiven Werten des digitalen Signalprozessors einen Maximumwert auszuwählen, wenn das Ausgangssignal einen positiven Überlaufzustand anzeigt, um einen Minimumwert unter den effektiven Werten des digitalen Signalprozessors auszuwählen, wenn das Ausgangssignal einen negativen Überlaufzustand anzeigt, und um den Effektivwert des Ergebnisses von der Arithmetik-Logik-Einheit auszuwählen, wenn das Ausgangssignal keinen Überlaufzustand anzeigt.
2. Digitaler Signalprozessor nach Anspruch 1, bei dem
der Überlaufdetektor (150) ein Signal für den positiven
Überlaufzustand ausgibt, wenn eine der folgenden
Bedingungen wahr ist:
(b = 0 und a < 0),
(b = -1 und a < 1),
{(b = 0 und a = 0) und (CN-1 = 1)} oder
{(b = -1 und a = 1) und (CN-1 = 1)}.
(b = 0 und a < 0),
(b = -1 und a < 1),
{(b = 0 und a = 0) und (CN-1 = 1)} oder
{(b = -1 und a = 1) und (CN-1 = 1)}.
3. Digitaler Signalprozessor nach Anspruch 1, bei dem
der Überlaufdetektor (150) ein Signal für den negativen
Überlaufzustand ausgibt, wenn eine der folgenden
Bedingungen wahr ist:
(b = 0 und a < -2),
(b = -1 und a < -1),
{(b = 0 und a = -2) und (CN-1 = 0)} oder
{(b = -1 und a = -1) und (CN-1 = 0)}.
(b = 0 und a < -2),
(b = -1 und a < -1),
{(b = 0 und a = -2) und (CN-1 = 0)} oder
{(b = -1 und a = -1) und (CN-1 = 0)}.
4. Ein Überlauferfassungsverfahren für einen digitalen
Signalprozessor mit einem Bitstellenverschieber (11) und
einer Arithmetik-Logik-Einheit (14), die in Reihe
geschaltet sind, wobei das Verfahren die Schritte
aufweist:
Bitstellenverschieben eines ersten Dateneingangsoperanden A durch den Bitstellenverschieber (11), um einen ersten Operanden zu erzeugen, der durch a2N + A definiert ist, wobei -2M ≦ a < 2M, 0 ≦ A < 2N und M sowie N ganze Zahlen sind;
Code-Erweitern eines zweiten Dateneingangsoperanden B, um einen zweiten Operanden zu erzeugen, der durch b2N + B definiert ist, wobei b = 0 oder - und 0 ≦ B < 2N;
Erzeugen eines (N-1)ten-Übertragsignals CN-1 durch Addieren des ersten Operanden zum zweiten Operanden in der Arithmetik-Logik-Einheit (14);
Erfassen-eines positiven Überlaufereignisses, wenn eine der folgenden Bedingungen wahr ist:
(b = 0 und a < 0),
(b = -1 und a < 1),
{(b = 0 und a = 0) und (CN-1 = 1)} oder
{(b = -1 und a = 1) und (CN-1 = 1)}; und Erfassen eines negativen Überlaufereignisses, wenn
eine der folgenden Bedingungen wahr ist:
(b = 0 und a < -2),
(b = -1 und a < -1),
{(b = 0 und a = -2) und (CN-1 = 0)} oder
{(b = -1 und a = -1) und (CN-1 = 0)}.
Bitstellenverschieben eines ersten Dateneingangsoperanden A durch den Bitstellenverschieber (11), um einen ersten Operanden zu erzeugen, der durch a2N + A definiert ist, wobei -2M ≦ a < 2M, 0 ≦ A < 2N und M sowie N ganze Zahlen sind;
Code-Erweitern eines zweiten Dateneingangsoperanden B, um einen zweiten Operanden zu erzeugen, der durch b2N + B definiert ist, wobei b = 0 oder - und 0 ≦ B < 2N;
Erzeugen eines (N-1)ten-Übertragsignals CN-1 durch Addieren des ersten Operanden zum zweiten Operanden in der Arithmetik-Logik-Einheit (14);
Erfassen-eines positiven Überlaufereignisses, wenn eine der folgenden Bedingungen wahr ist:
(b = 0 und a < 0),
(b = -1 und a < 1),
{(b = 0 und a = 0) und (CN-1 = 1)} oder
{(b = -1 und a = 1) und (CN-1 = 1)}; und Erfassen eines negativen Überlaufereignisses, wenn
eine der folgenden Bedingungen wahr ist:
(b = 0 und a < -2),
(b = -1 und a < -1),
{(b = 0 und a = -2) und (CN-1 = 0)} oder
{(b = -1 und a = -1) und (CN-1 = 0)}.
5. Verfahren nach Anspruch 4, das die Schritte
einschließt:
Auswählen eines Maximumwerts aus einem effektiven Bereich des digitalen Signalprozessors als Reaktion auf das Erfassen des positiven Überlaufereignisses,
Auswählen eines Minimumwerts aus dem effektiven Bereich des digitalen Signalprozessors als Reaktion auf das Erfassen des negativen Überlaufereignisses, und
Auswählen des Ergebnisses der Addition des ersten Operanden zum zweiten Operanden in der Arithmetik-Logik-Ein heit (14) bei Abwesenheit sowohl des positiven Überlaufergebnisses als auch des negativen Überlaufereignisses.
Auswählen eines Maximumwerts aus einem effektiven Bereich des digitalen Signalprozessors als Reaktion auf das Erfassen des positiven Überlaufereignisses,
Auswählen eines Minimumwerts aus dem effektiven Bereich des digitalen Signalprozessors als Reaktion auf das Erfassen des negativen Überlaufereignisses, und
Auswählen des Ergebnisses der Addition des ersten Operanden zum zweiten Operanden in der Arithmetik-Logik-Ein heit (14) bei Abwesenheit sowohl des positiven Überlaufergebnisses als auch des negativen Überlaufereignisses.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR97-1122 | 1997-01-16 | ||
KR1019970001122A KR100236533B1 (ko) | 1997-01-16 | 1997-01-16 | 배럴 쉬프터와 산술논리 연산기가 연결되어 있는 디지탈 신호 처리기 및 그 오버플로 검출방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19748484A1 true DE19748484A1 (de) | 1998-07-23 |
DE19748484B4 DE19748484B4 (de) | 2010-10-07 |
Family
ID=19494824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19748484A Expired - Fee Related DE19748484B4 (de) | 1997-01-16 | 1997-11-03 | Schaltung und Verfahren zur Überlauferfassung bei einem digitalen Signalprozessor |
Country Status (4)
Country | Link |
---|---|
US (1) | US5907498A (de) |
KR (1) | KR100236533B1 (de) |
DE (1) | DE19748484B4 (de) |
TW (1) | TW358917B (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2772946B1 (fr) * | 1997-12-23 | 2004-01-30 | Sgs Thomson Microelectronics | Procede de determination d'un depassement de format du resultat d'une operation arithmetique realisee sur deux operandes |
US7206800B1 (en) * | 2000-08-30 | 2007-04-17 | Micron Technology, Inc. | Overflow detection and clamping with parallel operand processing for fixed-point multipliers |
US6912560B2 (en) * | 2000-12-08 | 2005-06-28 | Agere Systems, Inc. | Adder with improved overflow flag generation |
EP1387259B1 (de) * | 2002-07-31 | 2017-09-20 | Texas Instruments Incorporated | Zwischen-Prozessor Steuerung |
EP1503280A1 (de) * | 2003-07-30 | 2005-02-02 | Texas Instruments Incorporated | Sättigungs-Arithmetik in einer Prozessoreinheit |
AT413895B (de) * | 2003-09-08 | 2006-07-15 | On Demand Informationstechnolo | Digitale signalverarbeitungseinrichtung |
US20050278513A1 (en) * | 2004-05-19 | 2005-12-15 | Aris Aristodemou | Systems and methods of dynamic branch prediction in a microprocessor |
US7454455B2 (en) | 2004-06-07 | 2008-11-18 | International Business Machines Corporation | Apparatus, and system, for efficient and reliable computation of results for mathematical functions |
US8209366B2 (en) * | 2005-02-28 | 2012-06-26 | Hitachi Global Storage Technologies Netherlands B.V. | Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations |
US20070005676A1 (en) * | 2005-06-29 | 2007-01-04 | Henry Matthew R | Simple and amended saturation for pipelined arithmetic processors |
US20070074004A1 (en) * | 2005-09-28 | 2007-03-29 | Arc International (Uk) Limited | Systems and methods for selectively decoupling a parallel extended instruction pipeline |
KR101471227B1 (ko) * | 2010-05-28 | 2014-12-10 | 충북대학교 산학협력단 | 일진법 수의 데이터 처리 장치 및 이를 이용한 연산 방법 |
US9449607B2 (en) * | 2012-01-06 | 2016-09-20 | Qualcomm Incorporated | Systems and methods for detecting overflow |
US9478312B1 (en) | 2014-12-23 | 2016-10-25 | Amazon Technologies, Inc. | Address circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1244955A (en) * | 1985-05-17 | 1988-11-15 | Yuichi Kawakami | Processing circuit capable of raising throughput of accumulation |
US5231600A (en) * | 1990-04-19 | 1993-07-27 | Bull Hn Information Systems Inc. | Overflow detector for anticipating producing invalid operands resulting from performing shift operations on such operands |
JP2894015B2 (ja) * | 1991-06-28 | 1999-05-24 | 日本電気株式会社 | 桁あふれ検出方法および回路 |
JP3487903B2 (ja) * | 1993-11-12 | 2004-01-19 | 松下電器産業株式会社 | 演算装置及び演算方法 |
FR2718864B1 (fr) * | 1994-04-19 | 1996-05-15 | Sgs Thomson Microelectronics | Dispositif de traitement numérique avec instructions de recherche du minimum et du maximum. |
JP2789577B2 (ja) * | 1995-02-07 | 1998-08-20 | 日本電気株式会社 | 加算オーバフロ検出回路 |
-
1997
- 1997-01-16 KR KR1019970001122A patent/KR100236533B1/ko not_active IP Right Cessation
- 1997-08-01 US US08/904,654 patent/US5907498A/en not_active Expired - Lifetime
- 1997-09-09 TW TW086113031A patent/TW358917B/zh not_active IP Right Cessation
- 1997-11-03 DE DE19748484A patent/DE19748484B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR19980065904A (ko) | 1998-10-15 |
KR100236533B1 (ko) | 2000-01-15 |
DE19748484B4 (de) | 2010-10-07 |
TW358917B (en) | 1999-05-21 |
US5907498A (en) | 1999-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19748484A1 (de) | Schaltung und Verfahren zur Überlauferfassung bei einem digitalen Signalprozessor | |
DE19983175B4 (de) | Verfahren, Prozessor und Einrichtung für Gleitkommaoperationen und Formatkonvertierungsoperationen | |
DE19839627B4 (de) | Digitaler Signalprozessor | |
DE4243374C2 (de) | Rundungseinrichtung für eine Gleitkommazahl und Verfahren | |
DE60210494T2 (de) | Hochgeschwindigkeitsberechnung in einer arithmetik- und logikschaltung | |
DE3339288C2 (de) | ||
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE3700323C2 (de) | ||
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE4403917C2 (de) | Vorrichtung zum Berechnen einer Bit-Besetzungszählung | |
DE3427669C2 (de) | Signalverarbeitungsschaltung | |
DE112014003074B4 (de) | Rauschenanalysevorrichtung, elektronisches Gerät und Rauschquellenidentifikationssystem | |
DE19618120B4 (de) | Parallelverarbeitungs-Divisionsschaltung | |
DE19746054B4 (de) | Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit | |
DE4019646C2 (de) | Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung | |
EP0779585A2 (de) | Digitale Signalprozessoranordnung zum Vergleich von Merkmalsvektoren und zugehöriges Betriebsverfahren | |
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE3440680A1 (de) | Verfahren und vorrichtung zur dezimaldivision | |
EP0489952B1 (de) | Schaltungsanordnung zur digitalen Bit-seriellen Signalverarbeitung | |
EP0144066A2 (de) | Schaltungsanordnung zur schnellen Ermittlung der betragsmässig grössten Differenz von drei binär dargestellten Zahlenwerten | |
DE10050589B4 (de) | Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation | |
DE19524863B4 (de) | Mikroprozessor mit eingebautem Abschnitt zur zyklischen Redundanzprüfung und Verfahren zum Ausführen von Operationen zur zyklischen Redundanzprüfung unter Verwendung von diesem | |
DE19910620C2 (de) | Vorrichtung zur Durchführung von Rechenvorgängen | |
EP0433315A1 (de) | Schaltungsanordnung zur addition oder subtraktion von im bcd-code oder dual-code codierten operanden | |
DE19923278B4 (de) | Summierschaltkreis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110601 Effective date: 20110531 |