-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht
sich auf einen in einem digitalen System verwendeten Summierschaltkreis.
-
Aus "IBM Technical Disclosure Bulletin"
Vol. 14, Nr. 1, Juni 1971, Seite 328 – 330, ist ein Summierschaltkreis
bekannt, der als Efficient Arithmetic Apparatus bezeichnet wird.
Epontentialfunktionen, Logarithmen und dergleichen sollen mit einer
minimalen Anzahl von Multiplikationen und Divisionen berechnet werden.
Jedoch ist dieser Schaltkreis nicht besonders kompakt; auch die
Geschwindigkeit der Berechnung lässt
zu wünschen übrig.
-
In einem Verarbeitungssystem für digitale
Signale wird ein digitales Eingangssignal unter Verwendung einer
Faltungsintegration im allgemeinen einem Filterverfahren unterzogen.
Die Faltungsintegration wird durch eine Summierung ausgeführt. Deshalb
ist es wünschenswert,
eine Menge der Berechnung in einer höheren Geschwindigkeit und einer
höheren
Präzision
durchzuführen.
Der Summierschaltkreis trägt
zur Verbesserung der Verarbeitungsgeschwindigkeit und der Berechnungspräzision bei
der oben genannten Produkt- und Summierungsberechnung zusätzlich zur
Addition einer Vielzahl digitaler Daten bei.
-
1 zeigt
einen typischen Summierschaltkreis als ein erstes herkömmliches
Beispiel. Das erste herkömmliche
Beispiel des Summierschaltkreises besteht aus einer Verschiebevorrichtung 701,
einer Additionsvorrichtung 703 und einem RAM-Speicher 705.
Die Verschiebevorrichtung 701 verschiebt ein k-Bit-Eingangsdatum in
die LSB-Richtung des Eingangsdatums zur Ausgabe als ein (m – n)-Bit-Datum. Die
Additionsvorrichtung 703 addiert das (m – n)-Datum
und ein vorhergehendes Summierdatum, um ein neues augenblickliches
m-Bit-Summierdatum auszugeben. Der RAM-Speicher 705 speichert
das Summierdatum vorübergehend.
-
Unter Bezugnahme auf 1 wird eine Vielzahl von positiven k-Bit-Daten
summiert. Während Das
Summierergebnis im RAM-Speicher 705 gespeichert
wird, wird die Summierung p mal ausgeführt und man erhält einen
m-Bit-Summierwert. In diesem Fall ist es notwendig, um das Abschneiden
eines Datenteils ohne jegliche Kapazitätsüberschreitung zu vermeiden,
dem Verhältnis
aus m = k + n bei (n – 1) < log(p) ≤ n (die Basis
des Logarithmus' ist 2) zu genügen.
In diesem Fall nimmt der Wert m mit dem zunehmenden Wert n zu. Folglich
nimmt auch die zur Speicherung der Summierung notwendige Kapazität des RAM-Speichers 705 zu.
-
Als nächstes zeigt 2 einen Summierschaltkreis der Produkt-
und Summiereinheit in der japanischen offengelegten Patentanmeldung (JP-A-Heisei
9-62653) als ein zweites herkömmliches
Beispiel. Unter Bezugnahme auf 2 besteht das
zweite herkömmliche
Beispiel des Summierschaltkreises aus einer ersten Additionsvorrichtung 801,
einer zweiten Additionsvorrichtung 803, einer dritten Additionsvorrichtung 805,
einem Register 809 und einem Multiplexer 807.
Die erste Additionsvorrichtung 801 ist für eine Berechnung
auf untere 8 Bits eines Ausgangssignals des Summierschaltkreises vorgesehen.
Die zweite Additionsvorrichtung 803 ist für eine Berechnung
auf mittlere 8 Bits des Ausgangssignals des Summierschaltkreises
vorgesehen. Die dritte Additionsvorrichtung 805 ist für eine Berechnung
auf obere 8 Bits des Ausgangssignals des Summierschaltkreises vorgesehen.
Das Register 809 speichert vorübergehend das Summierergebnis. Der
Multiplexer 807 gibt das Berechnungsergebnis des Summierschaltkreises
basierend auf einem einem dritten Eingangsanschluß 814 zugeführten Signal
aus.
-
Es wird nun der Betrieb des oben
genannten Summierschaltkreises beschrieben. Unter Bezugnahme auf 2 wird ein 8-Bit-Datum einem zweiten Eingangsanschluß 813 zugeführt und
durch einen Datenkonverter 818 in ein Stellenverschiebungs-Datum 816 umgewandelt,
das eine Stellenverschiebungs-Größe anzeigt.
Eine Trommel-Verschiebevorrichtung 811 (barrel shifter)
verschiebt basierend auf dem Stellenverschiebungs-Datum 816 eine
Stelle eines Datensignals von einem ersten Eingangsanschluß 812 ,
um ein 16-Bit-Datum auszugeben. Somit wird ein Multiplikationsverfahren
ausgeführt.
Anschließend
wird das untere 8-Bit-Datum des 16-Bit-Datums von der Trommel-Verschiebevorrichtung 811 der
ersten Additionsvorrichtung 801 zugeführt, und das obere 8-Bit-Datum
wird der zweiten Additionsvorrichtung 803 zugeführt. Somit
wird das Summierverfahren gestartet.
-
Die erste Additionsvorrichtung 801 addiert das
untere 8-Bit-Datum
von der Trommel-Verschiebevorrichtung 811 und ein unteres
8-Bit-Datum eines 24-Bit-Datums vom Multiplexer 807, um
an das Register 809 ein Additionsergebnis-Datum als das
untere 8-Bit-Datum des Summierschaltkreises auszugeben. Ebenso gibt
die erste Additionsvorrichtung 801 ein unteres Trägersignal
an das Register 809 aus. In diesem Fall gibt die erste
Additionsvorrichtung 801 das untere Trägersignal mit dem Bitstatus
"1" an das Register 809 aus, wenn die Kapazitätsüberschreitung
im Datum des Additionsergebnisses auftritt.
-
Die zweite Additionsvorrichtung 803 addiert das
obere 8-Bit-Datum
des 16-Bit-Datums von der Trommel-Verschiebevorrichtung 811 und
ein mittleres 8-Bit-Datum des 24-Bit-Datums vom Multiplexer 807,
um ein sich aus der Summierung ergebendes Datum als das mittlere
8-Bit-Datum des Summierschaltkreises an das Register 809 auszugeben.
In diesem Fall addiert die zweite Additionsvorrichtung 803 "1"
zum niedrigstwertigen Bit des sich aus der Summierung ergebenden
Datums, wenn das untere Trägersignal
"1" ist. Ebenso gibt die zweite Additionsvorrichtung 803 das
sich aus der Summierung ergebende Datum an das Register 809 aus,
wenn das Trägersignal
"0" ist. Ebenso gibt die zweite Additionsvorrichtung 803 ein
mittleres Trägersignal
an das Register 809 aus. Weiterhin gibt die zweite Additionsvorrichtung 803 ein
mittleres Trägersignal
"1" aus, wenn die Kapazitätsüberschreitung
in dem sich aus der Summierung ergebenden Datum auftritt.
-
Die dritte Additionsvorrichtung 805 addiert "1"
zum niedrigstwertigen Bit eines oberen 8-Bit-Datums des 24-Bit-Datums
vom Multiplexer 807, wenn das mittlere Trägersignal
"1" ist, und gibt das sich aus der Summierung ergebende Datum an
das Register 809 aus. Wenn das mittlere Trägersignal
"0" ist, gibt die dritte Additionsvorrichtung 805 das sich
aus der Summierung ergebende Datum vom Multiplexer 807 so
wie es ist an das Register 809 aus. Einer der Eingangsanschlüsse der
dritten Additionsvorrichtung 805 ist so geerdet, daß Daten
mit "0" immer in den Eingangsanschluß eingeben werden.
-
Das Register 809 hält das sich
aus der Summierung ergebende Datum von der ersten Additionsvorrichtung 801,
das untere Trägersignal,
das sich aus der Summierung ergebende Datum von der zweiten Additionsvorrichtung 803,
das mittlere Trägersignal
und das sich aus der Summierung ergebende Datum von der dritten
Additionsvorrichtung 805 während einer Periode eines Taktsignals
zur Ausgabe an den Multiplexer 807.
-
Der Multiplexer 807 gibt
selektiv eines der durch den dritten Eingangsanschluß 814 zugeführten Daten
und der vom Register 809 zugeführten Daten aus. D.h., der
Multiplexer 807 gibt die durch den dritten Eingangsanschluß 814 zugeführten Eingangsdaten
"0" ansprechend auf das erste Taktsignal an einen anderen Eingangsanschluß der ersten
Additionsvorrichtung 801, den Träger-Eingangsanschluß der zweiten
Additionsvorrichtung 803, einen anderen Eingangsanschluß der zweiten
Additionsvorrichtung 803, den Träger-Eingangsanschluß der dritten
Additionsvorrichtung 805 und einen anderen Eingangsanschluß der dritten
Additionsvorrichtung 805 aus. Ebenso gibt der Multiplexer 807 die
vom Register 809 zugeführten
Daten ansprechend auf das zweite Taktsignal und die Anschließenden,
wie folgt, an die erste, zweite und dritte Additionsvorrichtung
aus. D.h., der Multiplexer 807 gibt die von der ersten
Additionsvorrichtung 801 zugeführten sich aus der Summierung
ergebenden Daten an den anderen Eingangsanschluß der ersten Additionsvorrichtung 801,
das von der ersten Additionsvorrichtung 801 zugeführte untere
Trägersignal
an den Träger-Eingangsanschluß der zweiten
Additionsvorrichtung 803, die von der zweiten Additionsvorrichtung 803 zugeführten sich
aus der Summierung ergebenden Daten an den anderen Eingangsanschluß der zweiten
Additionsvorrichtung 803, das von der zweiten Additionsvorrichtung 803 zugeführte mittlere
Trägersignal
an den Träger-Eingangsanschluß der dritten
Additionsvorrichtung 805 und die von der dritten Additionsvorrichtiung 805 zugeführten sich
aus der Summierung ergebenden Daten an den anderen Eingangsanschluß der dritten
Additionsvorrichtung 805 aus.
-
Der oben genannte Summierschaltkreis
ist eine 24-Bit-Additionsvorrichtung, die aus drei 8-Bit-Additionsvorrichtungen
und einem Register besteht. Das untere Trägersignal von der ersten Additionsvorrichtung 801 und
das mittlere Trägersignal
von der zweiten Additionsvorrichtung 803 werden zur Zeit des
nächsten
Takts auf die Additionsvorrichtungen auf der Seite der oberen Bits übertragen,
nachdem sie für
eine Periodenzeit des Taktsignals im Register gehalten wurden. Auf
diese Weise wird die Träger-Übertragungszeit
für die
Addition so kurz gemacht, daß es
möglich
ist, die Summier-Betriebszeit zu verkürzen.
-
Bei dem in 1 gezeigten ersten herkömmlichen
Beispiel wird das Verhältnis
aus m < k + n erzielt,
wenn die Kapazität
des RAM-Speichers,
d.h. die Daten-Wort-Länge,
beschränkt
wird. Zur Verhinderung einer Kapazitätsüberschreitung ist es notwendig,
vor dem Additionsvorgang einen Datenteil abzuschneiden. Die unteren
Bits jedes Eingangsdatums werden im voraus abgeschnitten, um (m – n)-Bit-Daten
für den
Additionsvorgang zu erzeugen. Bei diesem Verfahren wird, wenn (k
+ n – m)
groß wird,
die Summiergenauigkeit stark verschlechtert.
-
Andererseits werden bei dem in 2 gezeigten zweiten herkömmlichen
Beispiel der Datenkonverter und die Trommel-Verschiebevorrichtung
in der Produkt- und Summiereinheit verwendet, um eine Kapazitätsüberschreitung
im Summierschaltkreis zu verhindern. Diese Funktion ist jedoch in
der Funktion für
das Multiplikationsverfahren enthalten, und der Summierschaltkreis
weist die Funktion nicht als seine interne Funktion auf.
-
Daher liegt der Erfindung die Aufgabe
zugrunde, einen Summierschaltkreis und ein Verfahren zur Summierung
einer Vielzahl von Eingangsdaten gemäß den Oberbegriffen der Ansprüche 1 bzw.
11 zu schaffen. Diese Aufgabe wird durch Anspruch 1 bzw. 11 gelöst. Vorteilhafte
Weiterbildungen ergeben sich aus den Unteransprüchen.
-
Eine Aufgabe der vorliegenden Erfindung
ist es, einen Summierschaltkreis zu schaffen, bei dem eine Verschlechterung
der Summiergenauigkeit vermindert werden kann, ohne eine Kapazität eines RAM-Speichers,
die zum Halten eines sich aus der Summierung ergebenden Datums notwendig
ist, zu erhöhen.
-
Zur Erzielung eines Aspekts der vorliegenden
Erfindung weist ein Summierschaltkreis einen Summierabschnitt und
einen Verschiebungs-Bit-Suchabschnitt auf. Der Summierabschnitt nimmt
ein Eingangsdatum und ein vorhergehendes sich aus der Summierung
ergebendes Datum auf und führt
eine Bit-Verschiebung des Eingangsdatums und des vorhergehenden
sich aus der Summierung ergebenden Datums ansprechend auf ein erstes
bzw. zweites Bit-Verschiebungs-Steuersignal aus. Ebenso addiert
der Summierabschnitt das Bit-verschobene Eingangsdatum und das Bit-verschobene
vorhergehende sich aus der Summierung ergebende Datum, um ein augenblickliches
sich aus der Summierung ergebendes Datum zu erzeugen und einen Teil
des augenblicklichen sich aus der Summierung ergebenden Datums als
ein Verschiebungs-Bit-Berechnungsdatum auszugeben. Der Verschiebungs-Bit-Suchabschnitt
gibt das erste und zweite Bit-Verschiebungs-Steuersignal
zur Addition eines nächsten
Eingangsdatums und des augenblicklichen sich aus der Summierung
ergebenden Datums basierend auf dem Verschiebungs-Bit-Berechnungsdatum
an den Summierabschnitt aus.
-
Der Summierabschnitt weist einen
Daten-Halteabschnitt, eine Daten-Verschiebevorrichtung und eine
Daten-Additionsvorrichtung auf. Der Daten-Halteabschnitt hält das Eingangsdatum
und das vorhergehende sich aus der Summierung ergebende Datum zur
Ausgabe als ein erstes bzw. zweites Ausgangsdatum. Die Daten-Verschiebevorrichtung
verschiebt das erste Ausgangsdatum ansprechend auf das erste Bit-Verschiebungs-Steuersignal in
eine LSB- (niedrigstwertige Bit-) Richtung, um ein erstes Verschiebedatum
auszugeben. Ebenso verschiebt die Daten-Verschiebevorrichtung das zweite Ausgangsdatum
ansprechend auf das zweite Bit-Verschiebungs-Steuersignal in die
LSB-Richtung, um ein zweites Verschiebedatum auszugeben. Die Daten-Addi tionsvorrichtung
addiert das erste und zweite Verschiebedatum, um das augenblickliche
sich aus der Summierung ergebende Datum und das Verschiebungs-Bit-Berechnungsdatum
auszugeben.
-
In diesem Fall kann die Daten-Additionsvorrichtung
eine erste Additionsvorrichtung, die das erste und das zweite Verschiebedatum
addiert, um das augenblickliche sich aus der Summierung ergebende Datum
auszugeben, und eine Speichereinheit aufweisen, die das augenblickliche
sich aus der Summierung ergebende Datum speichert.
-
Ebenso kann die Daten-Additionsvorrichtung eine
erste Additionsvorrichtung aufweisen, die das erste und das zweite
Verschiebedatum addiert, um das augenblickliche sich aus der Summierung
ergebende Datum auszugeben.
-
Der Daten-Halteabschnitt kann einen
ersten Zwischenspeicher-Schaltkreis,
der das Eingangsdatum hält,
um das erste Ausgangsdatum auszugeben, und einen zweiten Zwischenspeicher-Schaltkreis aufweisen,
der das vorhergehende sich aus der Summierung ergebende Datum hält, um das
zweite Ausgangsdatum auszugeben.
-
Die Daten-Verschiebevorrichtung kann
eine erste Verschiebevorrichtung, die das erste Ausgangsdatum basierend
auf dem ersten Bit-Verschiebungs-Steuersignal Bit-verschiebt, um
das erste Verschiebedatum auszugeben, und eine zweite Verschiebevorrichtung
aufweisen, die das zweite Ausgangsdatum basierend auf dem zweiten
Bit-Verschiebungs-Steuersignal Bit-verschiebt, um das zweite Verschiebedatum
auszugeben.
-
Der Verschiebungs-Bit-Suchabschnitt
kann einen Daten-Suchabschnitt und einen Steuerdaten-Erzeugungsabschnitt
aufweisen. Der Daten-Suchabschnitt gibt ansprechend auf eine Änderung
des Verschiebungs-Bit-Berechnungsdatums ein drittes Ausgangsdatum
aus. Der Steuerdaten-Erzeugungsabschnitt erzeugt basierend auf dem
dritten Ausgangsdatum das erste und zweite Bit-Verschiebungs-Steuersignal.
-
In diesem Fall weist der Daten-Suchabschnitt
vorzugsweise einen logischen ODER-Berechnungsschaltkreis und einen
Flip-Flop-Schaltkreis
auf, der ein vom logischen ODER-Berechnungsschaltkreis ausgegebenes
logisches ODER-Ausgangsdatum hält,
um ein drittes Ausgangsdatum auszugeben. Zu dieser Zeit nimmt der
logische ODER-Berechnungsschaltkreis das Verschiebungs-Bit-Berechnungsdatum
und das dritte Ausgangsdatum auf, um das logische ODER-Ausgangsdatum
auszugeben. Stattdessen kann der Daten-Suchabschnitt einen logischen
UND-Berechnungsschaltkreis, der ein logisches UND von Bits des Verschiebungs-Bit-Berechnungsdatums
berechnet, einen logischen ODER-Berechnungsschaltkreis und einen
dritten Zwischenspeicher-Schaltkreis aufweisen, der ein vom, logischen
ODER-Berechnungsschaltkreis ausgegebenes logisches ODER-Ausgangsdatum
hält, um
ein drittes Ausgangsdatum auszugeben. Zu dieser Zeit nimmt der logische
ODER-Berechnungsschaltkreis das Verschiebungs-Bit-Berechnungsdatum
und das dritte Ausgangsdatum auf, um das logische ODER-Ausgangsdatum
auszugeben.
-
Der Steuerdaten-Erzeugungsabschnitt
kann einen vierten Zwischenspeicher-Schaltkreis, eine zweite Additionsvorrichtung
und einen fünften
Zwischenspeicher-Schaltkreis aufweisen. Der vierte Zwischenspeicher-Schaltkreis
gibt basierend auf dem dritten Ausgangsdatum das zweite Bit-Verschiebungs-Steuersignal
aus. Die zweite Additionsvorrichtung addiert das dritte Ausgangsdatum
und das erste Bit-Verschiebungs-Steuersignal, um ein Verschiebungs-Bit-Datum
auszugeben. Der fünfte
Flip-Flop erzeugt basierend auf dem von der zweiten Additionsvorrichtung
ausgegebenen Verschiebungs-Bit-Datum das erste Bit-Verschiebungs-Steuersignal,
wobei das erste Bit-Verschiebungs-Steuersignal an die zweite Additionsvorrichtung
ausgegeben wird.
-
Zur Erzielung eines anderen Aspekts
der vorliegenden Erfindung weist ein Verfahren zur Summierung einer
Vielzahl von Eingangsdaten folgendes auf:
eine Bit-Verschiebung
eines Eingangsdatums und eines vorhergehenden sich aus der Summierung
ergebenden Datums ansprechend auf ein erstes bzw. zweites Bit-Verschiebungs-Steuersignal;
eine
Addition des Bit-verschobenen, Eingangsdatums und des Bit-verschobenen vorhergehenden sich
aus der Summierung ergebenden Datums zur Erzeugung eines augenblicklichen
sich aus der Summierung ergebenden Datums, wobei ein Teil des augenblicklichen
sich aus der Summierung ergebenden Datums ein Verschiebungs-Bit-Berechnungsdatum ist;
und
eine Schätzung
des ersten und zweiten Bit-Verschiebungs-Steuersignals zur Addition eines nächsten Eingangsdatums
und des augenblicklichen sich aus der Summierung ergebenden Datums
basierend auf dem Verschiebungs-Bit-Berechnungsdatum.
-
Kurze Beschreibung
der Zeichnungen
-
Weitere Einzelheiten, Vorteile und
Merkmale ergeben sich aus der nachfolgenden Beschreibung mehrerer
Ausführungsformen
der Erfindung anhang der Zeichnungen.
-
Es zeigt:
-
1 ein
Blockdiagramm, das den Aufbau eines ersten herkömmlichen Beispiels eines Summierschaltkreises
zeigt;
-
2 ein
Blockdiagramm, das den Aufbau eines zweiten herkömmlichen Beispiels des Summierschaltkreises
zeigt;
-
3 ein
Blockdiagramm, das den Aufbau eines Summierschaltkreises der vorliegenden
Erfindung zeigt;
-
4 ein
Blockdiagramm, das den Aufbau des Summierschaltkreises gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
5A und 5B Zeittafeln von Eingangsdaten,
die in dem Summierschaltkreis gemäß der ersten Ausführungsform
der vorliegenden Erfindung summiert werden sollen;
-
6A bis 6J Zeittafeln, um den Betrieb
des Summierschaltkreises gemäß der ersten
Ausführungsform
der vorliegenden Erfindung bei einer Erhöhung von i zu erklären;
-
7 ein
Blockdiagramm, das den Aufbau des Summierschaltkreises gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung zeigt; und
-
8 ein
Blockdiagramm, das den Aufbau des Summierschaltkreises gemäß einer
dritten Ausführungsform
der vorliegenden Erfindung zeigt.
-
Beschreibung der bevorzugten Ausführungsformen
Als nächstes
wird unten ein Summierschaltkreis der vorliegenden Erfindung unter
Bezugnahme auf die beigefügten
Zeichnungen detailliert beschrieben.
-
3 ist
ein Blockdiagramm, das den Aufbau des Summierschaltkreises der vorliegenden
Erfindung zeigt. Es ist festzuhalten, daß dieses in 3 gezeigte konzeptionelle Blockdiagramm
den Aufbau der ersten, zweiten und dritten Ausführungsform der vorliegenden
Erfindung aufweist, die später
erwähnt werden
sollen.
-
Unter Bezugnahme auf 3 besteht der Summierschaltkreis aus
einem Summierabschnitt 101 und einem Verschiebe-Bit-Suchabschnitt 103. Der
Summierabschnitt 101 nimmt das Eingangs datum 105 und
ein vorhergehendes sich aus der Summierung ergebendes Datum 107 auf.
Dann Bit-verschiebt der Summierabschnitt 101 das Eingangsdatum 105 ansprechend
auf ein erstes Bit-Verschiebe-Steuersignal 111 und Bit-verschiebt
das vorhergehende sich aus der Summierung ergebende Datum 107 ansprechend
auf das zweite Bit-Verschiebe-Steuersignal 113. Der Summierabschnitt 101 erzeugt
das (nicht gezeigte) augenblickliche sich aus der Summierung ergebende
Datum aus dem Bit-verschobenen Eingangsdatum 105 und dem
Bit-verschobenen vorhergehenden sich aus der Summierung ergebenden
Datum 107, um einen Teil des (nicht gezeigten) augenblicklichen
sich aus der Summierung ergebenden Datums auszugeben.
-
Der Bit-Verschiebe-Suchabschnitt 103 nimmt
das Teildatum 109 des augenblicklichen sich aus der Summierung
ergebenden Datums auf, um die Bit-Verschiebemengen zu schätzen. Dann
erzeugt der Bit-Verschiebe-Suchabschnitt 103 basierend
auf den aus dem Teildatum 109 des augenblicklichen sich
aus der Summierung ergebenden Datums geschätzten Bit-Verschiebemengen
das erste Bit-Verschiebe-Steuersignal 111 und das zweite Bit-Verschiebe-Steuersignal 113 für eine nächste Summenberechnung.
D.h, der Verschiebe-Bit-Suchabschnitt 103 bezieht sich
auf die Änderung
oder Transaktion des augenblicklichen sich aus der Summierung ergebenden
Datums 107, wobei er das Teildatum 109 des augenblicklichen
sich aus der Summierung ergebenden Datums verwendet, um das erste
Bit-Verschiebe-Steuersignal 111 und
das zweite Bit-Verschiebe-Steuersignal 113 für die nächste Summenberechnung
zu erzeugen.
-
Ebenso Bit-verschiebt der Summierabschnitt 101 das
Eingangsdatum 105 und das vorhergehende sich aus der Summierung
ergebende Datum 107 ansprechend auf das erste Bit-Verschiebe-Steuersignal 111 und
das zweite Bit-Verschiebe-Steuersignal 113 in die Richtung
des LSB (niedrigstwertigen Bits), um eine Kapazitätsüberschreitung
zu vermeiden. Als nächstes
wird der Summierschaltkreis gemäß der ersten
Ausführungsform
der vorliegenden Erfindung beschrieben.
-
4 zeigt
den Aufbau des Summierschaltkreises gemäß der ersten Ausführungsform
der vorliegenden Erfindung. Unter Bezugnahme auf 4 besteht der Summierschaltkreis aus
einem Summierabschnitt 201 und einem Verschiebe-Bit-Suchabschnitt 203.
Der Summierabschnitt 201 besteht aus einem Daten-Halteabschnitt 251,
einem Daten-Verschiebeabschnitt 253 und einem Daten-Additionsabschnitt 255.
Der Verschiebe-Bit-Suchabschnitt 203 besteht
aus einem Daten-Suchabschnitt 257 und einem Steuerdaten-Erzeugungsabschnitt 259.
-
Im Summierabschnitt 201 besteht
ein Daten-Halteabschnitt 251 aus einem ersten Flip-Flop-Schaltkreis 215 und
einem zweiten Flip-Flop-Schaltkreis 217. Der erste Flip-Flop-Schaltkreis 215 nimmt
ein k-Bit-Eingangsdatum 205 auf, um ein erstes k-Bit-Ausgangsdatum 237 auszugeben.
Der zweite Flip-Flop-Schaltkreis 217 nimmt das vorhergehende
sich aus der Summierung ergebende m-Bit-Datum 207 auf,
um ein zweites m-Bit-Ausgangsdatum 239 auszugeben.
-
Der Daten-Verschiebeabschnitt 253.
besteht aus einer ersten Verschiebevorrichtung 219 und
einer zweiten Verschiebevorrichtung 221. Die erste Verschiebevorrichtung 219 nimmt
das erste Ausgangsdatum 237 auf und Bit-verschiebt das
erste Ausgangsdatum 237 ansprechend auf das erste Bit-Verschiebe-Steuersignal 211 in
die LSB-Richtung, um ein erstes Verschiebe-Ausgangsdatum 241 (maximal
(m – 1)
Bits) auszugeben. Die zweite Verschiebevorrichtung 221 nimmt
das zweite Ausgangsdatum 239 auf, um ansprechend auf das
zweite Bit-Verschiebe-Steuersignal 213 das
zweite Verschiebe-Ausgangsdatum 243 (maximal (m – 1) Bits) auszugeben.
-
Der Daten-Additionsabschnitt 255 besteht aus
der ersten Additionsvorrichtung 223 und einem RAM-Speicher 225.
Die erste Additionsvorrichtung 223 addiert das erste VerschiebeAusgangsdatum 241 und
das zweite Verschiebe-Ausgangsdatum 243, um ein augenblickliches
sich aus der Summierung ergebendes m-Bit Datum 207 auszugeben. Der RAM-Speicher 225 weist
eine m-Bit Daten-Wortlänge auf
und speichert das augenblickliche sich aus der Summierung ergebende
Datum 207 vorübergehend als
das vorhergehende sich aus der Summierung ergebende Datum für die nächste Summenberechnung.
-
Ebenso besteht im Verschiebe-Bit-Suchabschnitt 203 ein
Daten-Suchabschnitt 257 aus
einem logischen ODER-Berechnungsschaltkreis 227 und einem
dritten Flip-Flop-Schaltkreis 229. Der dritte Flip-Flop
nimmt ein logisches ODER-Ausgangsdatum 245 auf und hält es als
ein Ausgangssignal des logischen ODER-Berechnungsschaltkreises 227,
um ein drittes Ausgangsdatum 247 auszugeben. Ebenso gibt
der logische ODER-Berechnungsschaltkreis 227 das MSB- (höchstwertige
Bit-) Datum 209 des augenblicklichen sich aus der Summierung
ergebenden Datums 207 und des dritten Ausgangsdatums 247 ein,
um eine logische ODER-Berechnung
auszuführen.
-
Ein Steuerdaten-Erzeugungsabschnitt 259 besteht
aus einem vierten Flip-Flip-Schaltkreis 231, einer zweiten
Additionsvorrichtung 233 und einem fünften Flip-Flip-Schaltkreis 235.
Der vierte Flip-Flop-Schaltkreis 231 nimmt das dritte Ausgangsdatum 247 auf,
um das zweite Bit-Verschiebe-Steuersignal 213 auszugeben.
Der fünfte Flip-Flop-Schaltkreis 235 nimmt
ein Verschiebe-Bit-Datum 249 als ein Ausgangssignal der
zweiten Additionsvorrichtung 233 auf, um das erste Bit-Verschiebe-Steuersignal 211 auszugeben.
Die zweite Additionsvorrichtung 233 gibt das dritte Ausgangsdatum 247 und
das erste Bit-Verschiebe-Steuersignal 211 ein,
um eine Additionsberechnung auszuführen.
-
Unter Bezugnahme auf 4 und 5A und 5B wird ein Beispiel beschrieben,
bei dem (f × p) positive
k-Bit-Daten D in der in den Zeittafeln gezeigten Reihenfolge eingegeben
werden und man einen Summenwert ΣD(b,
i) = D (b, 1) + D(b, 2) + D(b, 3) + ... + D (b, p) durch Addition
der p (1 ≤ i ≤ p) Daten
D im Hinblick auf b (1 ≤ b ≤ f) erhält.
-
Wie es in 4 gezeigt ist, wird das Eingangsdatum
im ersten Flip-Flop-Schaltkreis 215 aufgenommen und durch
ein durch den fünften Flip-Flop-Schaltkreis 235 gehaltenes
exponentielles Datum durch die erste Verschiebevorrichtung 219 in die
LSB-Richtung Bit-verschoben.
Somit erhält
man das erste Verschiebe-Ausgangsdatum 241. Ebenso wird
das vorhergehende sich aus der Summierung ergebende Datum 207 aus
dem RAM-Speicher 225 ausgelesen und im zweiten Flip-Flop-Schaltkreis 217 aufgenommen.
Dann wird das vorhergehende sich aus der Summierung ergebende Datum 207 durch den
durch den vierten Flip-Flop-Schaltkreis 231 gehaltenen
Wert durch die zweite Verschiebevorrichtung 221 in die
LSB-Richtung Bit-verschoben. Somit erhält man das zweite Verschiebe-Ausgangsdatum 243.
-
Die erste Additionsvorrichtung 223 addiert das
erste Verschiebe-Ausgangsdatum 241 und das zweite Verschiebe-Ausgangsdatum 243,
um das augenblickliche sich aus der Summierung ergebende Datum 207 neu
zu erzeugen. Das augenblickliche sich aus der Summierung ergebende
Datum 207 wird im RAM-Speicher 225 gespeichert.
Die Bit-Verschiebevorgänge
durch die erste Verschiebevorrichtung 219 und die zweite
Verschiebevorrichtung 221 verhindern eine Kapazitätsüberschreitung
und dienen der Stelleneinstellung.
-
Zur Überprüfung, ob die Vergrößerung des exponentiellen
Datums notwendig ist oder nicht, überprüfen der logische ODER-Berechnungsschaltkreis 227 und
der dritte Flip-Flop-Schaltkreis 229 das MSB des augenblicklichen
sich aus der Summierung ergebenden Datums 207, während i
konstant ist. Wenn das MSB einmal oder öfter 1 wird, wird der Wert
des dritten Flip-Flop-Schaltkreises 229 auf 1 eingestellt.
Wenn der Wert von i erhöht wird,
nimmt der vierte Flip-Flop-Schaltkreis 231 das dritte Ausgangsdatum 247 aus
dem dritten Flip-Flop-Schaltkreis 229 auf. Das dritte Ausgangsdatum 247 wird
zu dem durch den fünften
Flip-Flop-Schaltkreis 235 gehaltenen Wert addiert. Die
durch den fünften Flip-Flop-Schaltkreis 235 und
den vierten Flip-Flop-Schaltkreis 231 gehaltenen Werte
werden für
die Bit-Verschiebevorgänge durch
die erste Verschiebevorrichtung 219 bzw. die zweite Verschiebevorrichtung 221 verwendet.
-
Es ist festzuhalten, daß bei den
Bit-Verschiebevorgängen
durch die erste Verschiebevorrichtung 219 und die zweite
Verschiebevorrichtung 221 unterlaufene Bits abgeschnitten
werden und in einem oberen Bit, in dem kein Wert vorhanden ist,
ein Wert 0 angeordnet wird. Ebenso ist das durch den fünften Flip-Flop-Schaltkreis 235 gehaltene
exponentielle Datum ungeachtet des Werts von f einzeln. Deshalb ändert sich
die Schaltkreisskala des Summierschaltkreises niemals, selbst, wenn
der Wert von f ansteigt.
-
Als nächstes wird der Betrieb des
Summierschaltkreises gemäß der ersten
Ausführungsform
der vorliegenden Erfindung beschrieben. Unter Bezugnahme auf die
in 6A bis 6J gezeigten Zeittafeln wird
das Verfahren des Berechnungsvorgangs von S(b,i1) = D(b, 1) + D(b,
2) + ... + D(b, i1) beschrieben.
-
Zuerst wird unter Berücksichtigung
dessen, daß ein
Datum durch das durch den fünften Flip-Flop-Schaltkreis 235 gehaltene
exponentielle Datum in die LSB-Richtung Bit-verschoben wird, ein Ausgangswert
des exponentiellen Datums eingestellt. Im Falle von k < m ist der Ausgangswert
des exponentiellen Datums 0 und das Ausgangssignal der ersten
Verschiebevorrichtung 219 ist k Bits (k ≤ m – 1). Im
Falle von k ≥ m
ist der Ausgangswert des exponentiellen Datums k – m + 1
und das Ausgangssignal der ersten Verschiebevorrichtung 219 ist
maximal (m – 1)
Bits. Deshalb ist das Ausgangssignal der ersten Verschiebevorrichtung 219 ungeachtet
des Werts von k maximal (m – 1)
Bits.
-
Wenn das Eingangsdatum 205 D(b,
i1) ist, wird das Datum D(b, i1) ansprechend auf die ansteigende
Flanke des ersten Taktsignals 261, wie es in 6B gezeigt ist, im ersten
Flip-Flop-Schaltkreis 215 aufgenommen.
Dann wird das Datum D(b, i1) durch die erste Verschiebevorrichtung 219 durch
das durch den fünften
Flip-Flop-Schaltkreis 235 gehaltene exponentielle Datum
f5(i1 – 1),
wie es in 6J gezeigt
ist, in die LSB-Richtung Bit-verschoben. Somit erhält man das
erste Ausgangsdatum 237.
-
Ebenso wird ein sich aus der Summierung ergebendes
Datum S(b, i1 – 1),
das denselben unteren Index b aufweist und im Hinblick auf i ein
Summierergebnis von 1 bis i1 – 1
anzeigt, ansprechend auf die ansteigende Flanke des ersten Taktsignals 261 ,
wie es in 6D gezeigt
ist, aus dem RAM-Speicher 225 im zweiten Flip-Flop-Schaltkreis 217 aufgenommen.
Dann wird das sich aus der Summierung ergebende Datum S(b, i1 – 1) durch
den durch den vierten Flip-Flop-Schaltkreis 231 gehaltenen
Wert f4(i1 – 1)
durch die zweite Verschiebevorrichtung 221 in die LSB-Richtung
Bit-verschoben, wie es in 6I gezeigt
ist.
-
Es ist festzuhalten, daß, wenn
i gleich 1 wird, die Werte des zweiten Flip-Flop-Schaltkreises 217 und
des vierten Flip-Flop-Schaltkreises 231 auf
0 eingestellt werden und das Bit-Verschiebungsergebnis des sich
aus der Summierung ergebenden Datums in die LSB-Richtung ebenfalls
auf 0 eingestellt wird. Die Ausgangssignale der ersten Verschiebevorrichtung 219 und
der zweiten Verschiebevorrichtung 221 werden durch die
erste Additionsvorrichtung 223 addiert. Das Additionsergebnis
S(b, i1) wird als ein neues sich aus der Summierung ergebendes Datum
in den RAM-Speicher 225 geschrieben, wie es in 6E gezeigt ist.
-
Der Ausgangswert des dritten Flip-Flop-Schaltkreises 229 wird
auf 0 eingestellt und ansprechend auf ein Rücksetzsignal 265 jedesmal, wenn
sich der Wert von i ändert,
auf 0 rückgesetzt, wie
es in 6F gezeigt ist.
Das logische ODER des durch den dritten Flip-Flop-Schaltkreis 229 gehaltenen
Werts und des MSB des Additionsergebnisses durch die erste Additionsvorrichtung 223 wird
durch den logischen ODER-Berechnungsschaltkreis 227 während eines
Zeitabschnitts von da ab, wenn i auf i1 eingestellt wird, bis dann,
wenn i auf i1 + 1 eingestellt wird, berechnet. Wenn das MSB einmal
oder öfter
während
dieser Verarbeitung 1 wird, wird der dritte Flip-Flop-Schaltkreis 229 auf
1 eingestellt.
-
Das Ausgangssignal des dritten Flip-Flop-Schaltkreises 229 wird
ansprechend auf die ansteigende Flanke des zweiten Taktsignals 263 durch
den vierten Flip-Flop-Schaltkreis 231 aufgenommen, wie
es in 6H und 6I gezeigt ist. Wenn das
MSB während
eines Zeitabschnitts von i = i1 bis i1 + 1 einmal oder öfter 1 wird,
wird der vierte Flip-Flop-Schaltkreis 231 auf 1 eingestellt.
Wenn alle MSBs 0 sind, wird der vierte Flip-Flop-Schaltkreis 231 auf 0 eingestellt.
Der Wert f4(i1) des vierten Flip-Flop-Schaltkreises 231 wird
zur Zeit i = i1 + 1 der zweiten Verschiebevorrichtung 221 als
die Verschiebemenge eingestellt.
-
Der fünfte Flip-Flop-Schaltkreis 235 nimmt ansprechend
auf die ansteigende Flanke des zweiten Taktsignals 263 den
Additionswert des in diesem gehaltenen Werts und des Ausgangssignals
des dritten Flip-Flop-Schaltkreises 229 auf, wie es in 6H und 6J gezeigt ist. Der Wert f5(i1) des fünften Flip-Flop-Schaltkreises 235 ist
das exponentielle Datum zu dem sich aus der Summierung ergebenden Datum
S(b, i1) und zeigt eine Verschiebemenge in der ersten Verschiebevorrichtung 219 an,
wenn sich i von i1 auf i1 + 1 ändert.
-
Darüber hinaus wird unter Bezugnahme
auf 6A bis 6J die Verarbeitung zur Zeit
i = i1 + 1 beschrieben.
-
Wenn der Wert f4(i1) 0 ist, ist die
Verschiebemenge der zweiten Verschiebevorrichtung 221 0
und der Bit-Verschie bevorgang wird nicht ausgeführt. In diesem Fall ist f5(i1)
= f5(i1 – 1).
Da sich die Verschiebemenge in der ersten Verschiebevorrichtung 219 zur
Zeit i = i1 + 1 nicht zu der Verschiebemenge zur Zeit i = i1 ändert, stimmen
die exponentiellen Daten der Ausgangssignale der ersten Verschiebevorrichtung 219 und
der zweiten Verschiebevorrichtung 221 miteinander überein.
Ebenso kann, da das MSB des aus dem RAM-Speicher 225 ausgelesenen
sich aus der Summierung ergebenden Datums 0 ist, das Ausgangssignal
der zweiten Verschiebevorrichtung 221 (m – 1) Bits
sein.
-
Wenn f4(i1) 1 ist, wird die Verschiebemenge der
zweiten Verschiebevorrichtung 221 auf 1 eingestellt. In
diesem Fall ist f5(i1) = f5(i1 – 1)
+ 1. Die Verschiebemenge in der ersten Verschiebevorrichtung 219 zur
Zeit i = i1 + 1 nimmt zu der Verschiebemenge zur Zeit if = i1 um
1 zu. Deshalb stimmen die exponentiellen Daten der Ausgangssignale
der ersten Verschiebevorrichtung 219 und der zweiten Verschiebevorrichtung 221 miteinander überein.
Ebenso kann das Ausgangssignal der zweiten Verschiebevorrichtung 221,
das um 1 Bit in die LSB-Richtung Bit-verschoben
wurde, (m – 1)
Bits sein.
-
Wie aus dem oben genannten hervorgeht, wird
das Ausgangssignal der zweiten Verschiebevorrichtung 221 (m – 1) Bits.
Wie es oben beschrieben wurde, ist das Ausgangssignal der ersten
Additionsvorrichtung 223 m Bits und überschreitet niemals die Kapazität, da das
Ausgangssignal der ersten Verschiebevorrichtung 219 ebenfalls
(m – 1)
Bits ist.
-
Wenn f4(i1) 0 ist, überschreitet
das Additionsergebnis der ersten Additionsvorrichtung 223 nicht
die Kapazität,
selbst, wenn die Verschiebemenge zur Zeit i = i1 + 1 nicht erhöht wird.
Deshalb kann das sich aus der Summierung ergebende Datum als das
Additionsergebnis im RAM-Speicher 225 gespeichert werden,
ohne die Verschiebemenge zu erhöhen.
Das sich aus der Summierung ergebende Datum mit der guten Präzision kann
im RAM- Speicher 225 gespeichert
werden, da die Verschiebemenge nicht erhöht wird. Wenn f4(i1) 1 ist,
besteht die Möglichkeit,
daß das
Ausgangssignal der ersten Additonsvorrichtung 223 die Kapazität überschreitet, wenn
nicht die Verschiebemenge zur Zeit i = i1 + 1 erhöht wird.
Deshalb wird der Bit-Verschiebevorgang ausgeführt.
-
Durch den oben genannten Vorgang
werden die exponentiellen Daten des Eingangsdatums und des sich
aus der Summierung ergebenden Datums eingestellt. Somit kann die
Summierung ausgeführt werden,
um einen abzuschneidenden Datenteil zu verringern, während eine
Kapazitätsüberschreitung verhindert
wird. Es ist festzuhalten, daß das
im RAM-Speicher gespeicherte sich aus der Summierung ergebende Datum
durch die exponentiellen Daten nach rechts verschoben wird. Falls
es notwendig ist, werden die Daten jedoch durch die durch den Flip-Flop-Schaltkreis
gehaltenen exponentiellen Daten nach links Bit-verschoben.
-
Als nächstes wird der Summierschaltkreis gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung beschrieben. Der Aufbau des Summierschaltkreises
ist in 7 gezeigt. Der
Summierschaltkreis ist in der zweiten Ausführungsform fast derselbe wie
der Summierschaltkreis in der ersten Ausführungsform. Deshalb wird nur
der unterschiedliche Punkt beschrieben.
-
Unter Bezugnahme auf 7 wird bei der zweiten Ausführungsform
der RAM-Speicher nicht zur Speicherung des sich aus der Summierung
ergebenden Datums verwendet. Das augenblickliche sich aus der Summierung
ergebende Datum 507 wird im zweiten Flip-Flop-Schaltkreis 517 gehalten.
Ebenso wird bei dieser Ausführungsform
ein Fall von f = 1 als ein Beispiel genommen. Wenn jedoch eine Vielzahl von
Flip-Flop-Schaltkreisen vorgesehen und so geschaltet ist, daß sie das
sich aus der Summierung ergebende Datum zu jeder Zeit hält, kann
diese Ausführungsform
auch für
den Fall von f > 1
eingesetzt werden. Der Vorteil der zweiten Ausführungsform liegt darin, daß es nicht
notwendig ist, außerhalb
des LSI für
den Summierschaltkreis irgendeinen RAM-Speicher vorzusehen. Somit
kann die Anzahl der zu verwendenden LSIs vermindert werden. Da es notwendig
ist, die Flip-Flop-Schaltkreise zu erhöhen, um das sich aus der Summierung
ergebende Datum zu halten, wenn f groß wird, ist diese Ausführungsform
nützlich,
wenn f relativ klein ist.
-
Darüber hinaus wird der Summierschaltkreis gemäß der dritten
Ausführungsform
der vorliegenden Erfindung beschrieben. Der Aufbau des Summierschaltkreises
in der dritten Ausführungsform
ist in 8 gezeigt. Der
Aufbau des Summierschaltkreises in der dritten Ausführungsform
ist demjenigen des Summierschaltkreises in der ersten Ausführungsform ähnlich.
Deshalb wird nur der unterschiedliche Punkt beschrieben.
-
Unter Bezugnahme auf 8 ist zusätzlich zu dem in 4 gezeigten Aufbau der ersten
Ausführungsform
ein logischer UND-Operationsschaltkreis 628 vor
dem logischen ODER-Operationsschaltkreis 627 vorgesehen.
Der logische UND-Operationsschaltkreis 628 berechnet ein
logisches UND von (m – k)
Bits des sich aus der Summierung ergebenden Datums in einer Biteinheit.
-
Dieser Aufbau kann im Falle von k < m eingesetzt werden,
und ein abzuschneidender Datenteil kann stärker verringert werden als
derjenige in der ersten Ausführungsform.
Es ist festzuhalten, daß im Falle
von k = m – 1
die dritte Ausführungsform
mit der ersten Ausführungsform äquivalent
ist. Bei der dritten Ausführungsform
ist die Bedingung, daß bei
der nächsten
Addition eine Kapazitätsüberschreitung auftritt,
durch Bezugnahme auf die oberen (m – k) Bits vom MSB des augenblicklichen
sich aus der Summierung ergebenden Datums 607 enger definiert.
-
Wie es oben beschrieben ist, werden
gemäß dem Summierschalt kreis
der vorliegenden Erfindung die Bits, die abgeschnitten werden sollen,
wenn es weniger Möglichkeit
gibt, eine Kapazitätsüberschreitung
zu bewirken, so verringert, daß der
RAM-Speicher effektiv
genutzt wird. Somit kann eine Verschlechterung der Summiergenauigkeit
vermieden werden.
-
Ebenso hängt der Summierschaltkreis
der vorliegenden Erfindung nicht von der Anzahl der zu summierenden
Eingangsdaten ab und seine Schaltkreisskala ist gleichbleibend.
-
Als Beispiel betrachte man einen
Fall, bei dem 1000 8-Bit-Daten
(k = 8, p = 1000) summiert werden, um ein 16-Bit-Summierdatum (m
= 16) so zu erhalten, daß es
im RAM-Speicher gespeichert wird. In diesem Fall kann beim ersten
herkömmlichen
Beispiel des Summierschaltkreises eine Kapazitätsüberschreitung nicht verhindert
werden, wenn nicht untere 2 Bits aller Eingangsdaten abgeschnitten
werden, um 6-Bit-Daten zu erzeugen.
-
Beim Summierschaltkreis der vorliegenden Erfindung
wird der Abschneidevorgang jedoch nicht ausgeführt, bis das MSB des sich aus
der Summierung ergebenden Datums auf 1 eingestellt ist. Selbst wenn
die Notwendigkeit des Abschneidevorgangs am frühesten auftritt, d.h., selbst
wenn die Eingangsdaten bei dem in 5B gezeigten
bestimmten b immer einen Maximalwert einnehmen, ist es nicht notwendig,
den Abschneidevorgang bei der Summierung der ersten 129 Daten (i ≤ 129) auszuführen. Wenn
die Eingangsdaten bei dem bestimmten b nicht immer den Maximalwert
oder einen Wert nahe dem Maximalwert einnehmen, tritt die Notwendigkeit
des Abschneidevorgangs nicht für
spätere
Eingangsdaten auf. Somit kann die Verschlechterung der Summiergenauigkeit
vermindert werden.
-
Insbesondere, wenn der Summierschaltkreis in
der dritten Ausführungsform
verwendet wird, tritt die früheste
Notwendigkeit des Abschneidevorgangs für das 258. Eingangsdatum
auf. Auf diese Weise ist die dritte Ausführungsform insbesondere effektiv, wenn
m – k
groß ist.