DE2658248A1 - Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation - Google Patents
Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperationInfo
- Publication number
- DE2658248A1 DE2658248A1 DE19762658248 DE2658248A DE2658248A1 DE 2658248 A1 DE2658248 A1 DE 2658248A1 DE 19762658248 DE19762658248 DE 19762658248 DE 2658248 A DE2658248 A DE 2658248A DE 2658248 A1 DE2658248 A1 DE 2658248A1
- Authority
- DE
- Germany
- Prior art keywords
- signals
- circuits
- carry
- multiplier
- multiplicand
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
Dipl.-lng. Heinz Bardehie ο c c: ο ο / ο
Pater.tfär-Λ-Ηι ί. D 0 0 L M- O
München 22,':.. .:, CT.;!. 29 25 5 J
Postanschrift Müncr.::; ?S, Postfach 4 · /f3 .
Postanschrift Müncr.::; ?S, Postfach 4 · /f3 .
München, den ^1 ^ez· '976
Mein Zeichen: P 2442
Anmelder: Honeywell Information Systems Inc.
200 Smith Street
Waltham, Mass. 02154
V. St. A.
Mit hoher Geschwindigkeit arbeitendes Multiplikationssystem sowie Verfahren zur Durchführung einer
Multiplikationsoperation
Die Erfindung bezieht sich auf ein Multiplikationssystem und eine Multiplikationsanordnung und insbesondere auf ein
System zur Multiplikation von Zahlen in Binärform.
Es ist generell bekannt, Multiplikationsoperationen dadurch auszuführen, daß die. erwünschten Vielfachen eines Multiplikanden
während einer Multiplikationsoperation erzeugt werden, und zwar im Gegensatz zur Vorspeicherung der Vielfachen. Ein
Beispiel für diese besondere Art von Anordnung ist in der US-PS 3 730 425 angegeben. Diese bekannte Anordnung arbeitet
in der Weise, daß der Multiplikator mit zwei multipliziert wird (d.h., daß der Multiplikator um ein Bit nach links verschoben
wird), bevor mit der Multiplikationsoperation begonnen wird. Während der anschließend erfolgenden Multiplikationsoperation
wählen die in der Multiplikationsanordnung
709828/0631
enthaltenen Schaltungen einen der in einer Anzahl vorgesehenen Multiplikationsfaktoren in Übereinstimmung mit zwei
Bits der Multiplikatorbits aus. Obwohl die betreffende bekannte Anordnung die Anzahl der Zyklen halbiert, die normalerweise
für eine Multiplikationsoperation erforderlich sind, ist dennoch die für die Ausführung einer Multiplikationsoperation
aufzuwendende Zeit beträchtlich lang, und zwar insbesondere in dem Fall, daß die Anordnung in einem System zu
verwenden ist, in welchem mit hoher Geschwindigkeit arbeitende Schaltungen verwendet sind, wie Stromsteuerungs-Verknüpfungsschaltungen.
Wie überdies in der genannten US-Patentschrift erläutert, ist zwar bereits vorgeschlagen
worden, die Geschwindigkeit der Multiplikation dadurch zu steigern, daß die Multiplikatorbits paarweise überprüft
werden und daß unterschiedliche Vielfache zu einer Anzahl von in Reihe geschalteten Addierern hinzuaddiert werden. Ein
Beispiel für diese Art von Multiplikation ist beschrieben in dem Buch "The Logic of Computer Arithmetic1*, von Ivan
Flores, Prentice-Hall, Inc., Copyright 1963.
Bei anderen Arten von Multiplikationsanordnungen sind vorgespeicherte
Vielfache verwendet worden, die vor der Multiplikationsoperation erzeugt worden sind. Die Vielfache werden
dabei in Übereinstimmung mit den Werten der Multiplikatorziffern
ausgewählt. Ein Beispiel für diese Art von Vorrichtung ist in der US-PS 3 641 331 angegeben. Obwohl bei
der in dieser Patentschrift angegebenen Anordnung die Anzahl der Vielfachen herabgesetzt ist, die zu speichern erforderlich
ist, und obwohl dabei die Zeitspanne vermindert ist, die zur Erzeugung sämtlicher übriger Vielfache erforderlich
ist, ist dennoch eine erhebliche Zeit erforderlich, um die Vielfache vor der Multiplikationsoperation zu erzeugen und
zu speichern.
709828/0631
Der Erfindung liegt demgemäß die Aufgabe zugrunde, ein verbessertes
Multiplikationssystem und ein verbessertes Multiplikationsverfahren anzugeben. Darüber hinaus soll durch die
vorliegende Erfindung eine Anordnung zur binären Multiplikation geschaffen werden, durch die die Anzahl der Zyklen
minimiert werden soll, die zur Ausführung von Multiplikationsoperationen auf Multiplikationsbefehle hin auszuführen erforderlich
ist. Überdies soll die neu zu schaffende, mit hoher Geschwindigkeit arbeitende Multiplikationsanordnung
geeignet sein für einen Betrieb in Verbindung mit integrierten Schaltungen, die mit hoher Geschwindigkeit arbeiten.
Schließlich soll die neu zu schaffende Multiplikationsanordnung
mit Hilfe von mit hoher Geschwindigkeit arbeitenden integrierten Schaltungen, wie Stromsteuerungs-Verknüpfungsschaltungen,
ausführbar sein.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die im Patentanspruch 1 angegebene Erfindung.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist eine Vielzahl von Vielfach-Generatorschaltungen vorgesehen,
deren jede derart betrieben ist, daß sie Binärsignale entsprechend
Null, +1/2 und + 1 Vielfaches des Multiplikanden erzeugt. Eine andere Generatorschaltungen der Vielfach-Generatorschaltungen
stellt eine Verbindung zu jeweils einer anderen Addiererschaltung von in einer Vielzahl vorgesehenen,
in Reihe geschalteten Addiererschaltungen her. Die Vielfach-Generatorschaltungen enthalten Verriegelungsspeicherschaltungen,
welche die Form der Schaltungen besitzen, wie sie an anderer Stelle näher beschrieben sind.
Bei der bevorzugten Ausführungsform sind drei Addiererschaltungen bzw. Addierer vorgesehen, deren jeder so geschaltet
ist, daß er die Vielfachsignale von einer entsprechenden
709828/0631
Generatorschaltung von drei Vielfach-Generatorschaltungen
her aufnimmt. Eine gemeinsame Zeitsteuerquelle bzw. Taktquelle enthält Schaltungen zur Erzeugung von Zeitsteuersignalen
bzw. Taktsignalen, die den Verriegelungsschaltungen zugeführt werden, welche in jeder Vielfach-Generatorschaltung
enthalten sind. Die Verriegelungsschaltungen speichern derartige Vielfachsignale solange, bis die Zeitsteuerquelle
ihren Ersatz durch das Vielfache freigibt, welches während eines vorhergehenden Operationszyklus erzeugt
worden ist. Auf diese Weise ermöglicht die Anordnung gemäß der Erfindung eine Überlappung von zur Erzeugung von
Vielfachen führenden Operationen und die Ausführung eines Parallelbetriebs in Verbindung mit der Erzeugung von Teilprodukten
durch die Addiererschaltungen. Auf diese Weise wird die Anzahl der Zyklen auf ein Minimum herabgesetzt,
die normalerweise erforderlich sind, um eine Multiplikationsoperation auszuführen.
Die Addiererschaltungen der bevorzugten Ausführungsformen besitzen die Form von Schaltungen, wie sie an anderer Stelle
näher beschrieben sind (siehe US-Patentanmeldungen, Serial-No. 562 327 und 562 316). Die Addiererschaltungen sind zusammen
mit den Vielfach-Generatorschaltungen aus Stromsteuerungs-Verknüpfungsschaltungen
aufgebaut. Die Organisation der Multiplikationsanordnung gemäß der vorliegenden Erfindung ermöglicht die Verwendung von derartigen, mit
hoher Geschwindigkeit arbeitenden Schaltungen und setzt die Gesamtkomplexheit einer derartigen Anordnung herab. Durch
die Verwendung einer Anzahl von entsprechenden Schaltungen ist die Anordnung gemäß der vorliegenden Erfindung außerdem
ohne weiteres durch Großintegrationsschaltungen und durch einen mittlerern Integrationsgrad aufweisende integrierte
Schaltungen ausführbar.
709828/0631
-sr-
An Hand von Zeichnungen wird die Erfindung mit den ihr
anhaftenden Eigenschaften und Vorteilen nachstehend beispielsweise
näher erläutert.
Fig. 1 zeigt in einem Blockdiagramm eine Multiplikationsanordnung gemäß der vorliegenden Erfindung.
Fig. 2a zeigt im größeren Detail Decoderschaltungen der in Fig. 1 gezeigten Anordnung.
Fig. 2b zeigt im größeren Detail Taktsteuerschaltungen der in Fig. 1 gezeigten Anordnung.
Fig. 2c zeigt im größeren Detail eine vereinfachte Version eines Übertragsicherungs-Addierernetzwerks und von binären
Vielfach'-Generatorschaltungen der Anordnung gemäß Fig.
Fig. 2d zeigt eine Ausführungsform des Übertragsicherungs-Addierernetzwerks der Anordnung gemäß Fig. 1.
Fig. 3 zeigt verschiedene Zeitsteuersignale, die von den Taktsteuerschaltungen der Anordnung gemäß Fig. 1 erzeugt
werden.
Fig. 4 zeigt ein Diagramm, welches zur Erläuterung der Arbeitsweise der vorliegenden Erfindung benutzt wird.
Im folgenden wird eine bevorzugte Ausführungsform der
Erfindung näher beschrieben. Bezugnehmend auf Fig. 1 sei bemerkt, daß in dieser Figur eine bevorzugte Ausführungsform der vorliegenden Erfindung gezeigt ist, bei der es
sich um ein System zur Multiplikation zweier Binärzahlen handelt. Bei dem zur Darstellung gewählten Beispiel der
Erfindung wird ein 36 Bit umfassender Multiplikand, der mit Nullen aufgefüllt sein kann, um einen 72 Bit umfassenden
Multiplikanden zu bilden, mit einem 28, 36 oder 64 Bit umfassenden Multiplikator multipliziert, und zwar in Abhängigkeit
von dem bestimmten Befehl, der ausgeführt wird, wie dies noch erläutert werden wird. Dabei wird ein 72-Bit-Multiplikand
im Falle eines Gleitkomma-Multiplikationsbefehls verwendet.
709828/0631
Im Falle eines 28-Bit-Multiplikators wird dann, wenn die
Bits nicht gleichmäßig durch die Anzahl der Bits teilbar sind, die pro Zyklus überprüft werden, der Multiplikator
mit Nullen erweitert, und zwar an dem Bitende niedrigster Wertigkeit, damit die Division glatt aufgeht. Wie noch erläutert
werden wird, werden mit drei Stufen einer Übertragsicherungsaddition sieben Bits des Multiplikators zu einem
Zeitpunkt überprüft, wobei drei überlappte Gruppen von Multiplikatorbits vorhanden sind. (z.B. bei den Bits 0
bis 6 höchster Wertigkeit die verschiedenen Gruppen entsprechend den Bits 0-2, 2-4 und 4-6). Die Gruppen wählen
die in Frage kommenden Vielfache für die Multiplikatorziffern mit den Istwerten 0-7 aus.
Die Multiplikation der beiden Binärwörter wird durch die verschiedenen Steuersignalpegel gesteuert, die von einem
mikroprogrammierten Steuerspeicher 40 geliefert werden, der
bei der bevorzugten Ausführungsform Teil des Steuerteiles eines Rechnersystems darstellt, welches das Multiplikationssystem der vorliegenden Erfindung benutzt. Aus Fig. 1 geht
hervor, daß während eines Operationszyklus der Mikrobefehlsinhalt eines adressierten Speicherplatzes des Speichers 40
ausgelesen und in einem Steuerpunktregister 404 abgespeichert werden kann, um durch Decoderschaltungen gemäß dem Block 4o6
decodiert zu werden.
Die Zeitsteuersignale für das System gemäß Fig. 1 werden von externen Taktschaltungen entsprechend dem Block 20 bereitgestellt.
Für Zwecke der vorliegenden Erfindung können diese Schaltungen als in herkömmlicher Weise aufgebaut betrachtet
werden. Die Schaltungen des Blockes 20 liefern Taktimpulse in Intervallen von 100 NanoSekunden auf zwei Reihen von
Leitungen. Die Taktimpulse auf den betreffenden Leitungen sind dabei um 180 gegeneinander verschoben. Die Taktimpulse
werden den Taktsteuerschaltungen des Blockes 401 eines Zeit-
709828/0631
steuerungs- und Steuerabschnitts 400 zugeführt, der die Verteilung
der Taktimpulse an das System gemäß Fig. 1 steuert, und zwar zusätzlich zu der Ausführung eines Steuervorgangs,
durch den festgelegt wird, ob die Impulse in Intervallen von 50 oder 100 Nanosekunden verteilt werden, wie dies
weiter unten noch erläutert wird.
Aus Fig. 1 ist ersichtlich, daß das System 10 der vorliegenden Erfindung folgende Abschnitte bzw. Bereiche umfaßt: den
Zeitsteuerungs- und Steuerabschnitt 400, der oben bereits erwähnt worden ist, einen Eingangsabschnitt 300, einen Vielfach-Generatorabschnitt
100, einen Übertragsicherungs-Addiererabschnitt
200 und einen Volladdierer- und Speicherabschnitt 250.
Im folgenden wird der Zeitsteuerungs- und Steuerabschnitt
näher erläutert. Dieser Abschnitt enthält die Taktsteuerschaltungen und Betriebsart-Flipflops des Blockes 401, das
Steuerpunktregister 404, die Decoderschaltungen des Blokkes
4o6, einen vierstufigen Binärzähler 408 und Decoderschaltungen des Blockes 410. Die Schaltungen des Blockes 401,
die in Fig. 2b näher dargestellt sind, verteilen unter einer Mikroprogrammsteuerung die Taktimpulse entweder in Intervallen
von 100 Nanosekunden oder 50 Nanosekunden. Das Multiplikatorsystem wird dabei insbesondere durch die Bits 88
bis 97 eines Mikrobefehlswortes gesteuert, von welchem ein Teil in das Steuerpunktregister 404 zu Beginn des jeweiligen
Operationszyklus geladen wird. Die Mikrobefehlswortbits sind dabei wie folgt codiert:
(1) Die Bits 88 bis 89 sind Typenbits, welche die auszuführende Operation oder Funktion angeben, wobei der
Code 01 die Multiplikationsfunktion angibt;
(2) das Bit 90 steuert die Abtastung eines Multiplikator-
709828/0631
Halteregisters RCH (nicht dargestellt), welches über Eingangsleitungen RCHO-35 mit Eingangspuffergattern
verbunden ist; der Zustand dieses Bits ist in dem Steuerpunktregister 404 nicht enthalten, sondern vielmehr wird
der betreffende Bit-Zustand in einem weiteren Steuerpunktregister (nicht dargestellt) gespeichert; wenn das
Bit 90 eine Null ist, wird kein Abtastimpuls erzeugt, und wenn das Bit 90 eine binäre 1 ist, wird ein Abtastimpuls
dem RCH-Register zugeführt;
(3) die Bits 91 bis 93 geben den Typ der Multiplikationsoperation an; sie werden dazu benutzt, den Zähler 408
zu laden, der die Operation eines ZMR-Schalters 310 des Abschnitts 300 steuert. Diese Bits sind wie folgt
codiert:
NOP
= Bruchmultiplikation, Festkomma = Ganzzahlige Multiplikation, Festkomma
= einfache Genauigkeit, normalisiert, Gleitkommamultiplikation
100 = UFM = einfache Genauigkeit, nicht normalisiert,
Gleitkommamultiplikation
101 = DFMP = doppelte Genauigkeit bzw. Stellenzahl,
normalisiert, Gleitkommamultiplikation 110 = DUFM = doppelte Genauigkeit bzw. Stellenzahl,
nicht normalisiert, Gleitkommamultiplikation.
(4) Das Bit 94 steuert den Zeitsteuerbetrieb für das Multiplikatorsystem,
indem es bestimmt, wann die Schaltungen des Blockes 401 die Taktimpulse in Intervallen von 50
und 100 Nanosekunden abgeben; wenn eine binäre 0 vorliegt, dann sperrt das als SET50NS10 bezeichnete Bit
die Schaltungen des Blockes 401 bezüglich der Erzeugung von Taktimpulsen mit einer Taktzeit von 50 Nanosekunden,
709828/0631
000 | = NOP |
001 | = MPF |
010 | = MPY |
011 | = FMP |
beginnend mit dem nächsten 100-Nanosekunden-Zyklus;
wenn das betreffende Bit eine binäre 1 ist, dann bewirkt das SETSONSIO-Signal, daß die Taktschaltungen
des Blockes 401 Taktimpulse in einer 50-Nanosekunden-Folge erzeugen, und zwar beginnend mit dem nächsten
1OO-Nanosekunden-Zyklusj
(5) das Bit 95 wird dazu benutzt, einen (nicht dargestellten) Ausgabeschalter zu steuern, an den das Addiererausgangssignal
abgegeben wird;
(6) die Bits 96-97 steuern die Abtastung eines in dem Datenausgabeweg
(nicht dargestellt) enthaltenen Registers und eines Eingabe-RCA-Registers 302 des Abschnitts 300, wie
dies durch die Codes 00 bzw. 01 bestimmt ist.
Im folgenden sei zunächst auf Fig. 2b Bezug genommen, aus der ersichtlich ist, daß der Block 401 eine Anzahl von UND-/NAND-Gliedern
401-6, 401-14 bis 401-32, eine Vielzahl von Flipflops 401-3 bis 401-5, zwei Treiberschaltungen bzw. Steuerschaltungen
401-8 und 401-12 sowie zwei Verzögerungsschaltungen 401-2 und 401-10 enthält. Alle diese Schaltungen können
als in herkömmlicher Weise aufgebaut betrachtet werden; sie können die Form jener Schaltungen besitzen, die beschrieben
sind in dem Buch "The Integrated Circuits Catalog", Texas Instruments, Inc., 1972. Die Verzögerungsschaltungen sind
unter Verwendung von Multiplexer- oder Datenauswahlschaltungen aufgebaut, um genaue Verzögerungen zu erzielen. Schaltungen
dieser Art sind ebenfalls in dem genannnten Buch beschrieben.
Wenn das Signal SET50NS10 eine binäre 1 ist, bewirkt dies im Betrieb, daß die Betriebs-Flipflops 401-5 und 401-4 in
den Binärzustand 1 umgeschaltet werden, wodurch Signale FF50NS-Betriebsart 10 und FF50NS-Betriebsart 11 in Binärsignale
1 überführt werden. Dadurch ist der 50-Nanosekunden-
709828/0631
Betrieb festgelegt, bei dem Taktimpulse in Intervallen von 50 Nanosekunden abgegeben werden. Solange das Taktbit 94
eine binäre 1 ist, verbleibt das System im 50-Nanosekunden-Betrieb.
Das Betriebsart-Flipflop 401-4 überführt in dem Fall, daß es in den Binärzustand 1 umgeschaltet ist, ein weiteres
Betriebsart-Flipflop 401-5 in den Binärzustand 1, wodurch das Signal DL-FF-50NS-Betriebsart 00 in ein Binärsignal 0
überführt wird. Dieses Flipflop hält das Multiplikationssystem im 50-Nanosekunden-Betrieb während des letzten
100-NanoSekunden-Zyklus vor der Abschaltung des 50-Nanosekunden-Betriebs
fest. Am Ende des 100-NanoSekunden-Intervalls
wird das Flipflop 401-5 in den Binärzustand 0 zurückgesetzt.
Das von der Binärseite 0 des Betriebsart-Flipflops 401-5 abgegebene Ausgangssignal wird zwei Verknüpfungsgliedern 401-30
und 401-32 zugeführt, die die Operation eines Multiplikator-Auswahlschalters
316 (ZIER) steuern. Das Verknüpfungsglied 401-30 überführt das Ausgangssignal des ZIER-Schalters in
ein O-Signal in dem 100-Nanosekunden-Zyklus, bevor in den
50-Nanosekunden-Betrieb übergegangen wird, und zwar im Fall von Gleitkommabefehlen (was bedeutet, daß das Signal
FFFL0ATING10 =1 ist).
liis sei darauf hingewiesen, daß die Ausgangssignale der beiden
Flipflops durch das Verknüpfungsglied 401-28 odermäßig zusammengefaßt sind, dessen Ausgangssignale dann anzeigen, ob
das System/50- oder 100-Nanosekunden-Betrieb arbeitet. Der
Zustand des 100NSM0DE-10-Signals wird dazu benutzt, die Operation des Zählers 408 über das Verkruüpfungsglied 401-22
und die Abtastung von Signalen zu steuern, die den Verknüpfungsgliedern
304 über das Verknüpfungsglied 401-20
709828/0631
zugeführt werden, wenn eine Freigabe durch das Verknüpfungsglied
401-18 erfolgt ist. Das Verknüpfungsglied 401-24 erzeugt das Signal SET50NS12 auf das Auftreten der Signale
FF100NSM0DE10 und SET50NS10 hin, die den letzten 100-ns-Zyklus
■bestimmen, bevor das System in den 50-ns-Betrieb übergeht.
Das Signal SET50NS12 steuert das Laden des RMN-Registers 308.
Das Verknüpfungsglied 401-6 gibt dann, wenn es durch das Betriebsart-Flipflop
401-5 freigegeben worden ist, die Reihe von Taktimpulsen an die Treiberschaltung 401-8 ab. Die Treiberschaltung
401-8 erhält außerdem die zweite Reihe von impulsen von dem Verknüpfungsglied 401-14 her. Die den beiden
Eingängen zugeführten Impulse werden durch die Treiberschaltung 401-8 odermäßig verknüpft, um das Taktsignal
CLOCK MLT310 zu erzeugen. Dieses Signal wird durch die Auswahlschaltung
401-10 verzögert, um ein verzögertes Taktsignal CLOCK DL-2-10 zu erzeugen. Wie aus Fig. 1 ersichtlich
ist, wird das Signal CLOCK MLT310 den Flipflops sowie den RS- und RC-Registem 250-4 und 250-6 zusätzlich zu den
MuItiplikatorauswahlregistern zugeführt. Um jegliche Übertragungs-Wettlaufbedingungen
zu vermeiden, wird das Signal CLOCK DL-2-10 den Veilfach-Generatorverriegelungschaltungen
zugeführt. Das normale Taktsignal CLOCK 100 NS120 wird von der Treiberschaltung 401-12 auf das Eingangssignal CLOCK
100 NS10 hin abgegeben, welches durch das Verknüpfungsglied 401-16 invertiert wird. Das Signal CLOCK 100 NS120
wird dem Register 401 zugeführt und bewirkt die Abtastung des Registers in 100-ns-Intervallen, was dem Lesezyklus des
R0M40 entspricht.· Die verschiedenen Taktsignale, die oben erläutert worden sind, sind in Fig. 3 veranschaulicht.
In Fig. 2a sind im einzelnen die Decoder- und Codiererschaltungen des Blockes 406 gezeigt. Die Oktal-Decoderschaltung
4o6-1 decodiert die Bits 91 bis 93 des in dem Steuerpunkt-
709828/0631
register 404 gespeicherten Mikrobefehlswortes und erzeugt Signale, welche den Typ des Multiplikationsbefehls angeben.
Aus den durch die Schaltung 406-1 erzeugten GleitkommaSignalen codiert die Schaltung 406-3 diese Signale, um ferner den Typ
der Gleitkommaoperation zu bestimmen, wie eine normalisierte Operation, eine nicht normalisierte Operation, ect.. Für
die Zwecke der vorliegenden Erfindung können die Decoder- und Codiererschaltungen als in herkömmlicher Weise aufgebaut
betrachtet werden. Sie können z.B. die Form von Schaltungen besitzen, die in dem oben erwähnten Buch der Firma Texas
Instruments, Inc., angegeben sind.
Wie oben erwähnt, ist darauf hinzuweisen, daß die Signale von dem Block 4o6 dazu benutzt werden, die Auswahl des
50-ns-Operationsbetriebs un..d die Auswahl der Multiplikatorbits
zu steuern. Der Zähler 408 steuert auf das Auftreten der Signale von dem Block 406 her die Auswahl der Multiplikatorbits
über den ZMR-Schalter 310 des Eingangsabschnitts 300. Der Zähler 408 wird zunächst mit einer Anfangszählerstellung
geladen, und zwar als Funktion der Bits 91 bis 93, und außerdem wird der Inhalt des Zählers während jedes Zyklus um 1 vermindert,
wenn das System im 50-ns-Betrieb arbeitet (oder wenn das Signal SET50NS10 eine binäre 1 ist).
Wie hier erläutert wird, werden zunächst die drei Bits höchster Wertigkeit des Zählers in den Binärzustand 1 gesetzt,
und das Bit, niedrigster Wertigkeit wird in den Binärzustand 1 gesetzt, und zwar für Gleitkommabefehle, und in
den Binärzustand 0 für andere Befehle. Das Laden des Zählers 408 erfolgt während des Zyklus, während dessen das
RCA-Register 302 mit dem Multiplikand geladen wird. Die Ausgangssignale des Zählers 408 werden durch die Schaltungen
410 decodiert, und die erzielten Ergebnisse werden dazu benutzt, eine der acht Stellungen des Schalters 310
709828/0631
auszuwählen. Der Schalter 310 speist den Schalter 312. Die grundsätzliche Steuerung hängt davon ab, ob das System einen
Gleitkommabefehl ausführt. In dem Fall, daß kein Gleitkommabefehl vorliegt, entspricht das Ausgangssignal des Schalters
312 der ersten Stellung (ZMRO-6), und im Falle eines
Gleitkommabefehls tritt das Ausgangssignal von der zweiten
Stellung (ZMR2-8) her auf. Die Auswahl der Schalter- und Zählerzustände ist in der nachstehenden Tabelle veranschaulicht.
709828/0631
Multipli kator bits |
■%<.. | * RCH3O-35, RMNO; RMN+-RCH0-8; RMRi- RCH24-30 |
+RMR; | +•RMR; | RMR +RCH26-32 | * Schall | 2658248 te r-Steuer zustand |
ZZMR | ZIER * |
|
B3AhI | 30-35,X | Multiplikatorbit-Auswahl maßnahmen |
+ RMRi | +RMR; | +RMR; | RMR *RCH20-26 | Zähler- zustand |
ZMR * |
O | 1 |
PIPF | 24-30 | ZIER | + RMRj | ♦RMR; | ■+RMR; | RMR -»-RCH14-20 | 1110 | 6 | O | O |
MPY | 18-24 | ZIER | + RMR] | t-RMR; | «••RMR; | RMR-*-RCH8-i4 | 1101 | 5 | O | O |
12-18 | ZIER | ♦ RMR; | -RMR | -+RMR; | 1100 | 4 | O | O | ||
6-12 | ZIER | ♦ RMR' | Abschalten gäbe; RMN -* |
+RMR; | von ZIER-Frei- •RCHO-8; |
1011 | 3 | O | O | |
0-6 | ZIER | ; RMR -HRCH18-24 | ZIER | +RMR; | RMR +RCH26-32 | 1010 | 2 | O | O | |
XXXXXXX | ZIER | ; RMR -RCH12-18 | ZIER | •«•RMR; | RMR «+RCH20-26 | 1001 | 1 | 1 | * | |
FMP | 32-35,XXX | ; RMR -RCH6-12 | ZIER | +RMR; | RMR +RCH14-20 | 1111 | 7 | 1 | O | |
UFM | 26-32 | ; RMR +RMNO-6 | ZIER | +RMR; | RIiR -+RCH8-14 | 1110 | 6 | 1 | O | |
20-26 | ZIER | --RMR | RMR +RMN2-8 | 1101 | 5 | 1 | O | |||
14-20 | Abschalten von ZIER-Frei- gabe; RMN*- RCHO-8; RMR + RCH32-35, 000 |
ZIER | RMNO-2 | 1100 | 4 | 1 | O | |||
8-14 | ZIER | ZIER | RMR + RCH26-32 | 1011 | 3 | 1 | O | |||
XXXXXXX | ZIER | ZIER | RMR *-RCH20-26 | 1010 | 2 | 1 | - | |||
DFMP | 68-71,2XX | ZIER | ZIER | RMR <*-RCHi4-20 | 1111 | 7 | 1 | O | ||
DUFM | 62-68 | ZIER | ZIER | RMR-RCH8-14 | 1110 | 6 | 1 | O | ||
56-62 | ZIER | ZIER | 1101 | 5 | 1 | O | ||||
50-56 | 1100 | 4 | 1 | O | ||||||
44-50 | 1011 | 3 | 1 | O | ||||||
38-44 | 1010 | 2 | 1 | O | ||||||
32-38 | 1001 | 1 | 1 | O | ||||||
26-32 | 1000 | O | 1 | O | ||||||
20-26 | 0111 | 5 | 1 | O | ||||||
14-20 | 0110 | 4 | 1 | O | ||||||
8-14 | 0101 | 3 | 1 | O | ||||||
0100 | O | |||||||||
Vie Ifach-Auswahltabelie
709828/0831
X ist stets eine Null
Das RMN-Register wird stets zunächst auf Null gesetzt, bevor mit dem Multiplikatorbitauswahlprozeß begonnen wird.
+ Die Freigabesteuerung des Schalters ist während dieses
Zyklus abgeschaltet, wodurch das ZIER-Ausgangssignal auf
Null gesetzt wird.
Im folgenden wird der Eingangsabschnitt 300 näher betrachtet. Dieser Abschnitt enthält Verknüpfungsglieder- bzw. Gatterund
Registerschaltungen 301, 302, 304 und 306, die Signale aufnehmen, welche kennzeichnend sind für den Multiplikanden
und den Multiplikator, sowie zwei Register 308, 314, Verzögerungsschaltungen· 320, und zwar zusätzlich zu den Schaltungen
310, 312 und 316, die die verschiedenen Bits des Multiplikators in der richtigen Reihenfolge auswählen. Die
Folgen und die Multiplikatorbitgruppierungen für die verschiedenen Befehle sind ebenfalls in der obigen Tabelle angegeben.
Durch die Schaltungen des betreffenden Abschnitts ist das Multiplikatorsystem an eine 36 Bit breite
Busleitung angepaßt. Es dürfte einzusehen sein, daß dieser Abschnitt wesentlich weniger komplex wäre, wenn das System
an eine 72-Bit-Busleitung angeschlossen wäre.
Das RMN-Register 308 ist ein 9-Bit-Register, welches gelöscht
bzw. auf Null gestellt wird, und zwa_.r jeweils dann, wenn das RCA-Register 302 geladen wird (d.h. dann, wenn die
Bits 91 bis 93 einen derartigen Ladevorgang angeben). Wenn das Signal SET50NS12 eine binäre 1 ist, wird das Register
mit den Bits 0 bis 8 von dem Register RCH her geladen (nicht dargestellt). Auf diese Weise ist das Laden auf den letzten
vollständigen 100-NanoSekunden-Zyklus begrenzt, bevor das
System beginnt, im 50-ns-Betrieb zu arbeiten. Im Falle von
709830/06*1
- Mr-
Multiplikatoren mit doppelter Genauigkeit bzw. Stellenzahl liefert das RMN-Register 308 einen glatten bzw. gleichmäßigen
Übergang bei Übertragung der niederen und höheren Wörter des Multiplikators.
Das-RCA-Register 302 ist ein 36-Bit-Register, welches eine
Speicherung für ein Wort des Multiplikators vornimmt. Wie in Fig. 1 dargestellt, werden die Ausgangssignale des betreffenden
Registers parallel jeder der Vielfach-Generatorschaltungen 100-2, 100-4 und 100-6 des Abschnitts 100 zugeführt. Die
Puffergatterschaltungen 304 sind in entsprechender bzw. ähnlicher Weise parallel an den Vielfach-Generatorschaltungen
des Abschnitts 100 angeschlossen. Im Falle eines Betriebs mit doppelter Genauigkeit bzw. Stellenzahl (Gleitkommabefehl) geben
diese Schaltungen die niederwertigsten 36 Bits des Multiplikanden von der Eingabe-ZAQ-Busleitung her ab; die betreffenden
Bits WErden dort während der Ausführung des Befehls festgehalten. Im Falle einer Operation mit einfacher Genauigkeit
sind die Eingabepuffer durch das Signal SUPZAQ10 von dem Block 401 her unwirksam gemacht. Dies führt dazu, daß Nullen
den Schaltungen des Abschnitts 100 zugeführt werden.
Im folgenden seien die Multiplikator-Auswahlschalter näher betrachtet. Dabei zeigt sich, daß der ZMR-Schalter 310 ein
9 Bit breiter 1-aus 8-Datenauswahlschalter ist. Unter der
Steuerung des Zählers 408 führt der ZMR-Schalter 310 die Haupt-Multiplikatorbitauswahl aus. Der ZZMR-Schalter 312
ist ein 7 Bit breiter i-aus-2-Datenauswahlschalter, der eine
Auswahl dahingehend trifft, welche Reihe der Ausgabe-Multiplikatorbitsignale (ZMRO-8) in das 7 Bit breite RMR-Register
314 geladen wird. Der ZIER-Schalter 316 ist ein 7 Bit breiter
1-aus-2-Datenauswahlschalter, der auswählt, welche Multiplikatorbitsignale den Vielfach-Generatorschaltungen des Abschnitts
100 zugeführt werden.
700820/0631
Während der anfänglichen Überprüfung des Multiplikators wählt der ZIER-Schalter 316 entweder die Bits direkt von
dem Eingabe-RCH-Register aus, und zwar dann, wenn der Multiplikationsbefehl
eine Festkommaoperation angibt, oder er überführt seine Ausgangssignale in Nullen, wenn der Multiplikationsbefehl
eine Gleitkommaoperation angibt. Die anfängliche Überprüfung erfolgt stets während eines vollständigen
100-ns-Zyklus. Sämtliche übrigen Überprüfungen des Multiplikators
erfolgen während 50-ns-Zyklen, während welcher Zeitspanne der ZIER-Schalter 316 das RMR-Register auswählt.
Während des 100-ns-Zyklus steht genügend Zeit zur Verfügung,
um die Multiplikatorbits von dem RCH-Register auszuwählen und um das Vielfache zu erzeugen. Das RMR-Register stellt sicher,
daß die Multiplikatorbitauswahl innerhalb eines Zyklus erfolgt
und daß die Vielfach-Erzeugung im nächsten Zyklus erfolgt.
Während der anfänglichenüberprüfung wird das Bit niedrigster Wertigkeit vom Eingangssignal RMNO ausgewählt. Dieses Bit
wird gewählt mit Rücksicht darauf, daß es eine Null bei Fest-Multiplikationsbefehlen
und zur Bezeichnung des Anfangs des ersten Multiplikationswortes eines Multiplikationsbefehles
mit vierfacher Genauigkeit bzw. Länge ist. Außerdem entspricht das betreffende Bit dem Bit höchster Wertigkeit des vorhergehenden
Wortes, und zwar während der Durchschaltung der Multiplikatorwörter für den Multiplikationsbefehl mit vierfacher
Genauigkeit bzw. Länge.
Wie hier erläutert wird, ist die Multiplikationsoperation so ausgelegt, daß die letzte Teilproduktsummation in dem Übertragsicherungs-Addierernetzwerk
in der letzten Hälfte des letzten 100-ns-Zyklus auftritt, während das System im
50-ns-Betrieb arbeitet. Dies führt zu einem gleichmäßigen
7098^8/0^1
Übergang zurück auf den 100-ns-Betrieb. Demgemäß muß die
letzte Multiplikatorüberprüfung während der ersten Hälfte des betreffenden letzten 100-ns-Zyklus stattfinden.
Die Anzahl der 50-ns-Zyklen ist so gewählt, daß sie stets gerade ist und daß die Anzahl der Multiplikator-Bitauswahlzyklen
gleich der Anzahl der 50-ns-Zyklen abzüglich eins bzw. zuzüglich eins für die Auswahl des ersten Multiplikatorbits
während des letzten 100-ns-Zyklus vor den 50-ns-Zyklen ist,» Demgemäß muß die Zahl der Multiplikatorbitauswahlzyklen ebenfalls
gerade sein. Während diese Maßnahme akzeptabel ist für den 36-Bit-Multiplikator, der im Falle der Festkommaoperationen
benutzt wird, erfordern die 28- und 64-Bit-Multiplikatoren,
die im Falle von Gleitkommaoperationen verwendet werden eine ungerade Zahl von Zyklen, um die Überprüfung des
Multiplikators zu vervollständigen. Die Anzahl der Zyklen wird dabei dadurch gerade gemacht, daß die ersten ausgewählten
Multiplikatorbits alle auf Null gesetzt werden. Die eigentlichen Bits von dem Multiplikator werden dann benutzt, indem
mit der nächsten Auswahl begonnen wird.
Wie aus Fig. 1 hervorgeht, werden die durch den ZliR-Schalter
316 ausgewählten Multiplikatorbits durch die in dem Block 320 enthaltenen Schaltungen verzögert und dann parallel
an jede der Vielfach-Generatorschaltungen des Abschnitts abgegeben. Die Verzögerungsschaltungen können als in herkömmlicher
Weise aufgebaut betrachtet werden. So können die betreffenden Schaltungen beispielsweise die Form von Datenauswahlschaltungen
aufweisen, die in Reihe geschaltet sind, um den erforderlichen Verzögerungswert zu liefern. Der ausgewählte
Verzögerungswert ist dabei derart, daß die Abtastung oder das Laden der Verriegelungsschaltungen auf das Abtasten
an den anderen Registern folgen kann. Dadurch ist sichergestellt, daß die abgetasteten und RC- und RS-Registern 200-10
und 200-12 zugeführten Signale sich nicht während der Zeit-
spanne ändern, während der die Register 200-10 und 200-12 abgetastet
oder geladen werden. Aus diesem Grunde wird das den Verriegelungsschaltungen zugeführte Takt- oder Abtastsignal
CLOCK DL210 ebenfalls verzögert.
Im folgenden wird der Vielfach-Generatorabschnitt 100 betrachtet, der die Vielfach-Generatorschaltungen 100-2, 100-4 und
100-6 zuzüglich zu den Übertrag-Generatorschaltungen und Decoderschaltungen des Blockes 100-10 enthält. Diese Schaltungen
steuern auf die Zuführung der Multiplikatorbits hin die Erzeugung der Vielfachen des Multiplikanden während der Multiplikation.
Wie erwähnt, erhält jede der Schaltungen 100-2, 100-4 und 100-6 als Dateneingangssignale die Multiplikandensignale
von dem RCA-Register 302 und die ZAQ-Mngangsbussignale
von den Puffergatterschaltungen des Blockes 304.
Jede der Vielfach-Generatorschaltungen verwendet Schaltungen,
die an anderer Stelle näher beschrieben sind (siehe US-Patentanmeldungen,
Serial Nos. 565 182 entsprechend Dt. Anm.
P 26 13 511.5, Serial No. 484 373). Die durch derartige Schaltungen ausgeführte Funktion ist in Fig. 2c veranschaulicht.
Unter Bezugnahme auf Fig. 2c dürfte ersichtlich sein, daß die Vielfach-Generatorschaltung in gewisser Hinsicht
als ein 1-aus-5-Datenauswahlschalter arbeitet, dessen
Ausgangssignal eine Anzahl von Verriegelungsschaltungen speist bzw. steuert. Die Verriegelungsschaltungen ermöglichen
die Bildung des Vielfachen und die Summierung des Vielfaches1
zu dem Teilprodukt, wobei dies gleichzeitig über ein Intervall von zwei 50-ns-Zyklen erfolgt. Es sei darauf hingewiesen,
daß jede Generatorschaltung 73 Bit breit ist. Diese Breite ermöglicht, die 72-Bit-Multiplikanden um eine Bitposition
nach rechts zu verschieben, ohne daß dabei eine Verkürzung erfolgt. Das Bit muß solange gespeichert werden, bis es zu
dem Teilprodukt hinzuaddiert worden ist und bis sämtliche aus der Addition resultierte Überträge vollständig weiter-
geleitet worden sind. Die Verschiebung ist in Fig. 1 durch zwei Nullen (d.h. 0,0) angegeben. In anderen Positionen sind
Festwerte von Null und Eins in entsprechenden Positionen verdrahtet, so daß die in Frage kommenden Werte für die Bits
niedrigster Wertigkeit dieser Vielfache bereitgestellt werden.
ZIER-
ausgewählte Multiplikatorbits
ZIER-Eingabe für V1i4-Chip
Durch Algorithmus
erforderliche
Vielfachbildung
Maßnahme
des Vielfachgenera
tors
des Vielfachgenera
tors
Ergebnis
des Übertrags bei d.Erzagng
des Übertrags bei d.Erzagng
000 001 |
111 110 |
O*Multiplikand 1/2*Multiplikand |
0 Multipli kand um eins nach rechts |
0 0 |
010 | 101 | 1/2*Multiplikand | Multipli kand um eins nach rechts |
0 |
011 | 100 | 1*Multiplikand | Multipli kand |
0 |
100 | 011 | -1*Multiplikand | Multipli kand |
1 |
101 | 010 | -1/2*Multiplikand | Multipli- kand um eins nach rechts |
1 |
110 | 001 | -1/ 2*Multiplikand | Multipli- kand um eins nach rechts |
1 |
111 | 000 | O*Multiplikand | 0 | 0 |
709828/0Θ31
Aus der Tabelle ergibt sich, daß dann, wenn ein "negatives"
Vielfaches für die Erzeugung bestimmt ist, die Vielfach-Generatorschaltung
das Einerkomplement (inverse Größe) der Vielfache zusammen mit einem Eintragbit erzeugt, das von den
Schaltungen des Blocks 100-10 geliefert wird. Wenn das Komplement des Vielfaches zu dem Teilprodukt durch das Übertragsicherungsnetzwerk
des Abschnitts 200 hinzuaddiert wird, wird auch das Eintragbit zu der Bitposition niedrigster Wertigkeit
des Vielfachen hinzuaddiert. Dadurch ist die Ausführung der
Vielfachbildung (Zweierkomplement) für eine erwünschte Subtraktionsoperation
abgeschlossen.
Die Schaltungen des Blocks 100-10 enthalten Decoderschaltungen
von herkömmlichem Aufbau, die die verschiedenen Gruppen der Multiplikatorbits decodieren und die die in Frage
kommenden Ausführungssignale mit den Werten erzeugen, die
durch die obige Tabelle angegeben sind.
Darüber hinaus enthält der Block 100-10 eine Vielzahl von
Flipflops und Verzögerungsschaltungen von herkömmlichem Aufbau. Die Verzögerungsschaltungen, die ebenfalls aus Datenauswahlschaltungen
aufgebaut sein können, verzögern die Ausführungssignale, die von den Decoderschaltungen erzeugt worden
sind. Die Signale werden danach in taktgesteuerten Flipflops gespeichert, deren Binärsignale 1 als Eingangssignale
dem Übertragsicherungsaddiererabschnitt 200 und dem Volladdiererabschnitt 250 zugeführt werden. Die Ausgangssignale
entsprechen den Signalen DLFFCARRYA10, FFCAPiRYBIO und
FFCARRYC10. Das decodierte Signal DLFFCARRYA10, welches
auf die Gruppe von Multiplikatorbits für den Α-Pegel hin erzeugt worden ist, wird den beiden in Reihe geschalteten
Flipflops zugeführt, bevor es dem Abschnitt 250 zugeführt wird, um nämlich eine geeignete Zeitsteuerung zu erzielen,
wie dies noch erläutert werden wir*.
709828/0631
Der Übertragssicherungsaddiererabschnitt 200 enthält eine Vielzahl von Übertragssicherungs-Addiererreihennetzwerkai
200-2, 200-4 und 200-6, und zwar zuzüglich zu einem Übertragsregister
(RC) 200-10 und einem Summenregister (RS) 200-12. Die drei mit A, B, und C bezeichneten Ebenen der Übertragssicherungs-Addiererreihennetzwerke
addieren die Vielfache zu dem Teilprodukt, das in den Registern 200-10 und 200-12
akkumuliert worden ist.
Die verschiedenen Ebenen sind in Fig. 2c und 2d im einzelnen dargestellt. In Fig. 2c sind die Verbindungen zu jeder der
Übertragssicherungs-Addierernetzwerkebenen für die Multiplikation eines 8-Bit-Multiplikanden mit einem 6-Bit-Multiplikator
veranschaulicht. Es sei darauf hingewiesen, daß die Übertragssicherungs-Addierernetzwerke um zwei Übertragssicherungs-Addiererschaltungsstufen
sowohl am Ende höchster Wertigkeit als auch am Ende niedrigster Wertigkeit der jeweiligen
Ebene erweitert sind. Demgemäß werden in jeder Ebene die Vielfach-Eingangssignale um zwei Bitpositionen
nach links verschoben, und in der unteren Ebene nehmen die vier Übertragssicherungs-Addiererschaltungen keine Eingangssignale von der Vielfach-Generatorschaltung 100-6 her auf.
Durch die Verbreiterung des höchstwertigen Endes werden die Vielfachen in die in Frage kommenden Bitpositionen gebracht,
die zu dem Teilprodukt hinzuzuaddieren sind. Dadurch wird die
2-Bit-Verschiebung der Vielfache nach links bewirkt.
Jeder der Blöcke innerhalb der jeweiligen Ebene (z.B. CSA,
CSB und CSC) stellt eine Übertragssicherungs-Addiererschaltung dar, die die Addition zweier Summandenbits und eines
Übertragbits ausführt. Während diese Schaltung als in herkömmlicher Weise aufgebaut betrachtet werden könnte, besitzt
sie bei der bevorzugten Ausführungsform die Form der Übertragsicherungs-Addiererschaltung,
die in der US-Patentanmeldung, Serial No. 562 316 angegeben worden ist. Die
709628/0651
•3*"'
Signale ACin, BCin und CCin entsprechen den von den Eintrag-Generator
schaltungen erzeugten Ausgabe-Eintragsignalen. Das Signal ACin wird anstatt an die Übertragsicherungs-Addierernetzwerke
abzugeben in einem Flipflop (nicht dargestellt) gespeichert und dann dem Übertragaddierer des Abschnitts 250
während eines folgenden Operationszyklus zugeführt.
Die RC- und RS-Register 200-10 und 200-12 speichern die Übertrag- und Summenausgangssignale, die von dem Übertragsicherungs-Addierernetzwerk
der C-Ebene erzeugt worden sind. Die Ausgangssignale dieser Register werden, wie dargestellt, als Eingangssignale dem Übertragsicherungs-Addierernetzwerk der A-Ebene
und dem Schnellübertragsaddierer des Abschnitts 250 zugeführt.
In Fig. 2d ist die strukturelle Anordnung der in Fig. 1 verwendeten
Übertragsicherungs-Addiererreihennetzwerke veranschaulicht. Die linken und rechten Seiten der betreffenden
Figur zeigen die Bitstruktur höchster Wertigkeit bzw. die Bitstruktur niedrigster Wertigkeit. Der mittlere Teil der betreffenden
Figur enthält jeweils drei Punkte, durch die angezeigt sein soll, daß der mittlere Teil gerade eine Wiederholung
der dargestellten Muster ist, wobei für eine gegebene Übertragsicherungs-Addiererschaltung η die Eingangssignale
einem Vielfachschaltungsbit η in derselben Ebene entsprechen,
in der die Addiererschaltung liegt, wobei ein Summenbit n-2
und ein Übertragbit n-1 von der vorhergehenden Ebene stammen. Es sei darauf hingewiesen, daß die RC- und RS-Register 200-10
und 200-12 die vorhergehende Ebene für die Addiererebene A darstellen. Die Eintragsignale FFCARRYC und FFCARRYB, die von
den Übertragerzeugungs- und Decodierschaltungen des Blockes 100-10 erzeugt werden, werden an den dargestellten Stellen
in die Ebenen eingeführt. Das Eintragsignal FFCARRYA wird in den Schnellübertragsaddierer des Abschnitts 250 eingeführt,
und zwar an der Stufe, die das Bit 76 erzeugt, wie dies nachstehend
noch erläutert wird.
709829/0631
Der Volladdiererabschnitt 250 enthält einen 78-Bit-Addierer 250-2 mit einer Übertrag-Vorgriffsausbreitung zusätzlich zu
einer Austragspeicherung, wie dies in Fig. 2c veranschaulicht ist (das ist das Flipflop 250-8). Der Addierer 250-2 addiert
die Übertragssignale zu den Summensignalen des Teilprodukts
zum Zwecke der Bildung des Endprodukts. Die Addiererstufen können in herkömmlicher Weise aufgebaut sein; bei der bevorzugten
Ausführungsform können sie die Form der Übertrag-Vorgriffs- und Addiererschaltungen besitzen, wie sie in den
US-Patentanmeldungen Serial Nos. 562 327 und 562 316 angegeben worden sind.
Im Betrieb erzeugt der Addierer 250-2 während der Haupt-Multiplikationszyklen
ein Austragsignal für die Bits des Produktes, die während des betreffenden Zyklus unberücksichtigt
zu lassen sind (das sind die Bits 71 bis 76). Das Austragsignal der Bitposition 71 wird in einem Flipflop, wie dem
Flipflop 250-8 gemäß Fig. 2c gespeichert, und als Übertrag-Eingangs signal (das ist das Signal RIPCIN in Fig. 2c) während
des nächsten Zyklus dem Addierer 250-2 zugeführt.
Wie in Fig. 2c dargestellt, sind die Registerstufen des RS-Registers 200-12 mit entsprechenden Stufen des Addierers
250-2 verbunden. Der Inhalt der Registerstufen des RC-Registers 200-10 wird in der Tat um eine Bitposition nach links
verschoben und dann mit den Stufen des Addierers 250-2 in Verbindung gebracht. Dadurch bleibt der Eingang für die
Stufe der Bitposition 76 oder für die Position 12 gemäß Fig. 2c frei für die Einfügung des Eintragsignals von der
Ebene A her. Die Extra-Bitposition in dem Addierer 250-2 entspricht der Bitposition höchster Wertigkeit; sie dient
als erweitertes Vorzeichenbit. Diese Stufe erzeugt stets das tatsächliche Vorzeichen; sie kann bei der Ermittelung und
Korrektur von Überlaufbedingungen herangezogen werden. Der
in Fig. 2c mit "PROP BIT" bezeichnete Eingang ist so ge-
7Ο9828/0Θ31
schaltet, daß ein binäres "1" Signal die Weiterleitung des Austragsignals durch die betreffende Stufe freigibt.
Die Stufen in Fig. 1 führen außerdem in entsprechender Weise binäre Einsen; wo derartige Stufen fehlen, tritt ein zweites
Eingangssignal von den Übertragsicherungs-Addiererschaltungen oder anderen zugehörigen Schaltungen auf.
Im folgenden wird die Arbeitsweise der Anordnung näher erläutert. Bevor die Arbeitsweise des Systems der vorliegenden
Erfindung veranschaulicht wird, sei zunächst die Gesamtoperation des Systems in generellen Ausdrücken unter Bezugnahme
auf Fig. 4 und unter Bezugnahme auf eine nachfolgend angegebene Tabelle beschrieben.
Wie erwähnt, überlappen sich die von den verschiedenen Bereichen des Systems ausgeführten Operationen. Die nachstehend
angegebene Tabelle zeigt die Hauptmaßnahmen, die in jedem Operationszyklus während der Ausführung eines typischen
Befehls auftreten. Die Tabelle zeigt dabei lediglich jene Zyklen, die den verschiedenen Abschnitten bzw. Bereichen
zugeordnet sind, in denen Maßnahmen stattfinden, die in Beziehung stehen zur Erzeugung des Endproduktes. Es sei jedoch
darauf hingewiesen, daß sämtliche Abschnitte bzw. Bereiche stets eine gewisse Maßnahme ausführen.
--aar-
Multiplikatorbitauswahl
Vielfsche-
Erzeu-
gung
Übertrag-
siche-
rungs-
Addier-
reihe
Multiplika tor-» RCH
0* RMN
Lade obere Hälfte Multiplikand in RCA
0» RC, RS
1.MuItI-plikatorbite>
ZIER RCH0-8> RMN
2.Multiplikator- bits-» RMR
1. Vielfaphe. zu RMG1S
übertrag-Weiter-
leitungsaddierer
leitungsaddierer
Datenausgabe
0)
cd
<H H ω •Η
cö Ή H
α)
ta
τ | |
ei) | ω |
r{ | Λ |
O | ο |
cd | cd |
<H | «Η |
H | ι—I |
ω | CU |
(0
26.S8248
RC+RS AM
709828/0631
Fig. 4 zeigt die Maßnahmen bzw. Aktionen für eine festliegende
Multiplikation binärer ganzer Zahlen (MPY), welche Multiplikation einen 36-Bit-Multiplikanden umfaßt. Bezugnehmend
auf Fig. 4 sei darauf hingewiesen, daß der erste Zyklus ein Aufsetzzyklus ist. Während dieses Zyklus werden
die Multiplikatorbitsignale in ein Register geladen, in welchem sie überprüft werden können, und der Multiplikand wird
in das RCA-Register geladen. Bei diesem Beispiel werden während desselben Zyklus in die Register RMN, RC und RS
Nullen geladen.
Während des zweiten Zyklus erhält das System die zweite
Hälfte des Multiplikanden von dem ZAQ-Bus her. Da die zweite
Hälfte des Multiplikanden bei diesem Befehlstyp stets Null ist, wird der Eingangsbus auf Null überführt. Zu diesem Zeitpunkt
wird das System in den 50-ns-Operationsbetrieb mit Beginn
des nächsten 100-ns-Zyklus überführt, und zwar durch
die Schaltungen des Blockes 401. Außerdem wird der Zähler
in den Zustand 1110 überführt worden sein.
Es sei darauf hingewiesen, daß während dieses Zyklus der
Eingangsabschnitt bzw. -bereich 300 die ersten sieben Bits des Multiplikators überprüft, was bewirkt, daß das erste
Vielfache, welches?jeder der Vielfachgeneratorschaltungen
100-2, 100-4 und 100-6 erzeugt worden ist, in die zugehörigen Verriegelungsschaltungen geladen wird. Dies bedeutet, daß der
ZIER-Schalter 316 die verschiedenen Gruppen der Multiplikatorbits
auf jede der Generatorschaltungen verteilt, die ihrerseits das von den Verriegelungsschaltungen zu speichernde
in Frage kommende Vielfache auswählen. Gleichzeitig wird eine zweite Reihe von Multiplikatorbits ausgewählt und in
das RMR-Register 314 geladen. Ferner werden die oberen Bits in das RMN-Register 308 geladen.
709828/0531
- 2β -
¥ie aus Fig. 4 ersichtlich ist, beginnt das System eine Reihe von vier 50-ns-Zyklen, die wiederholt dieselben Maßnahmen
ausführen. Während jedes Zyklus wird eine nächste Gruppe von Multiplikatorbits ausgewählt und in das RMR-Register
316 geladen. Parallel damit wählen die zuvor in dem
RMR-Register 316 abgespeicherten Multiplikatorbits die nächste
Gruppe von Vielfachen aus, die in den Verriegelungsschaltungen gespeichert wird. Die zuvor in den Verriegelungsschaltungen
gespeicherten Vielfache werden durch die Übertragsieherungs-Addierernetzwerke
200-2, 200-4 und 200-6 zu den Inhalten der RC- und RS-Register 200-10 und 200-12 hinzuaddiert, wobei
das Ergebnis in den RC- und RS-Registern 200-10 und 200-12 sodann gespeichert wird. Es sei darauf hingewiesen, daß der
Zähler 408 in seiner Zählerstellung durch die Schaltungen
des Blockes 401 während jedes Zyklus verkleinert wird.
Nachdem die oben angegebenen Operationen ausgeführt sind, ist das Laden der Multiplikatorbits abgeschlossen. Während
des nächsten Zyklus bewirken die zuvor in dem RMR-Register 316 gespeicherten Multiplikatorbits die Auswahl der letzten
Gruppe von Vielfachen. Die Vielfach-Generatorschaltungen erzeugen die Vielfache, die in den zugehörigen Verriegelungsschaltungen gespeichert werden, während die Übertragsicherungs-Addierernetzwerke
die zuvor in den Verriegelungsschaltungen gespeicherten Vielfache summieren. Während eines letzten Ausführungszyklus
summieren die Übertragsicherungs-Addierernetzwerke die in den Verriegelungsschaltungen gespeicherten Vielfache,
wie dies in Fig. 4 veranschaulicht ist. An dieser Stelle speichern die Übertrag- und Summenregister 200-10 und
200-12 das vollständige Produkt. Außerdem ist das System während dieses Zyklus in einem solchen Zustand, daß eine
Zurückschaltung in den 100-ns-Operationsbetrieb durch die
Schaltungen des Blockes 401 erfolgt.
Die nächsten beiden Zyklen dienen als "Reinigungs"-Zyklen,
709S28/G851
während der der Volladdierer 250-2 den Inhalt der RC- und
RS-Register 200-10 und 200-12 addiert. Außerdem werden während dieser Zyklen Anzeigen (d.h. Null und Vorzeichen)
überprüft, und für das Endprodukt kennzeichnende Signale werden zu verschiedenen Registern zum Zwecke der Abspeicherung
hin übertragen, die in anderen Einheiten untergebracht sind.
Es sei darauf hingewiesen, daß bei unterschiedlichen Befehlen geringfügige Variationen in den Zyklen sowie in den Aufsetz-
bzw. Einrichtungsoperationen vorhanden sind. So werden beispielsweise, wie oben erwähnt, im Falle eines Gleitkomma-Multiplikationsbefehls
während des anfänglichen 100-ns-Zyklus die Eingangssignale zu Null gemacht, um nämlich die Anzahl
der 50-ns-Zyklen gerade zu machen. Auf diese Weise ist
sichergestellt, daß der letzte Halbzyklus in Synchronismus mit dem Ende eines 1OO-ns-Zyklusintervalls auftritt. Dies bedeutet,
daß die Multiplikation mit einem Vollzyklus oder einem Halbzyklus beginnt, und zwar in Abhängigkeit davon, ob der
Multiplikator durch sechs teilbar ist.
Nunmehr wird die Arbeitsweise des Multiplikationssystems gemäß der vorliegenden Erfindung unter Bezugnahme auf ein
spezielles Beispiel näher beschrieben. Das betreffende Beispiel ist durch einen Multiplikations-Bruchbefehl (MPF) gegeben,
bei dem der Multiplikator, der Multiplikand und das Endergebnis folgende Werte besitzen:
Multiplikator = 0,101 1000 1110 1100 0000 ...0000 binär
= 0,543540000000 oktal
= 0,6947021484375 dezimal
Multiplikand
Produkt
= 0,111 0000 0000 ...0000
= 0,7
= 0,875
= 0,100 1101 1100 1110 1000...0
= 0,467164
= 0,6078643798828125
binär oktal dezimal binär oktal dezimal
70Θ828/0631
Die Werte für den Multiplikator sind so ausgewählt worden, daß jede der acht möglichen Kombinationen der Multiplikatorbits
eingeschlossen ist. Der Multiplikand ist zum Zwecke der leichteren Darstellung so gewählt worden, daß mit Ausnahme
einer Ziffer lediglich Nullen vorliegen. Die äquivalenten Oktal- und Dezimalwerte sind ebenfalls angegeben worden, um
die Darstellung der Ergebnisse zu erleichtern, die während jedes Operationszyklus erzeugt werden. Die Inhalte der Register
besitzen Oktalwerte, die während des Zyklus angezeigt werden. Die Werte sind ebenfalls in Binärform in jenen Fällen
angegeben, in denen es für ein Verständnis der Arbeitsweise des Systems erleichtert ist.
Der erste Zyklus ist ein Startausführungszyklus. Während dieses Zyklus wird der zunächst von einem Dateneingaberegister
(nicht dargestellt) zugeführte Multiplikator über ein (nicht dargestelltes) Kurzzeitspeicherregister RCH an
die Leitungen RCHO-35 abgegeben. Außerdem wird der Multiplikand von einem Operandenregister (nicht dargestellt) zu
dem RCA-Register 302 hin übertragen. Bei dem Beispiel besitzen die betreffenden Größen folgende Werte:
Multiplikator = 0,543540000000 Multiplikand = 0,700000000000
Der Inhalt der anderen Register, z.B. RCH, RMN, RCA, RC, RS,
RMR, und der Verriegelungsschaltungen RMGA, RMGB und RMGC, kann irgendwelche Werte speichern, da diese Werte nicht
relevant sind (d.h., daß diese Werte unberücksichtigt zu lassende Situationen darstellen).
Während des zweiten Zyklus wird die erste Reihe von Vielfachen bereitgestellt, und die Multiplikatorbits werden über den
ZIER-Schalter 316 entsprechend den RCH-Bits 30-35 und dem
RMN-Bit 0 überprüft. In diesem Fall sind sämtliche sieben Multiplikatorbits Nullen. Deshalb wählt die Decoderschaltung
709828/0831
jeder Vielfach-Generatorschaltung Nullen für sämtliche drei Ebenen aus, und die Nullen werden in jeder der Verriegelungsschaltungen RMGA, RMGB und RMGC gespeichert. Außerdem werden
die RCH-Bits 24-30 durch den ZMR-Schalter 310 ausgewählt und
in das RMR-Register 314 über den ZZMR-Schalter 312 geladen.
Die RCH-Bits 0-8 werden auf das Auftreten des Signals SET50NS12
hin in das RMN-Register 308 geladen. Durch das Signal SET50NS12
werden außerdem die Schaltungen des Blockes 40 in einen solchen Zustand überführt, daß während des nächsten Zyklus eine Umschaltung
in den 50-ns-Operationsbetrieb erfolgt.
Während des zweiten Zyklus speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden
Werten:
RCHO = 0,5435400000000
RCA = 0,7000000000000
ZAQ =0,0000000000000
RMN = 000
RC = 0,0 0
RS = 0,0 0
ZIER = 000
CARRYA =0
CARRYB =0
CARRYC = 0
Während dieses Zyklus (das ist der erste 50-ns-Zyklus) werden
die in dem vorhergehenden Zyklus bereitgestellten bzw. erzeugten Vielfache durch die Übertragsicherungs-Addierernetzwerke
unter Bildung· eines Null-Teilproduktes zusammenaddiert,
welches durch den Inhalt der Übertrags- und Summenregister dargestellt ist. Dies bedeutet, daß mit Rücksicht darauf, daß
sämtliche Eingangs-Vielfachsignale Nullen sind, sämtliche Addierersummen- und Übertragausgangssignale, die erzeugt
worden sind, Nullen sind. Die in dem RMR-Register 314 gespeicherten
Multiplikatorbits sind Nullen, weshalb die
709828/0631
während dieses Zyklus erzeugten Vielfache Nullen sind. Darüber hinaus sind die Übertragausgangssignale Nullen. Die Multiplikatorsignale
RCH 18-24 werden ausgewählt und in dem RMR-Register 314 untergebrecht.
Während dieses Zyklus (das ist der erste 50-ns-Zyklus) speichern und erzeugen die in Frage kommenden Register und
Schaltungen Signale mit folgenden Werten;
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0,0 0
RMN = 261
RMGA = 0,0 0
RMGB = 0,0 0
RMGC = 0,0 0
RC =0,0 0
RS = 0,0 0
ACSACARRY =0,0 0
ACSA SUM =0,0 0
ACSB CARRY = 0,0 0
ACSBSUM' =0,0 0
ACSC CARRY = 0,0 0
ACSC SUM = 0,0 0
FF-CARRY A 10 =0
FF-CARRY B 10 =0
FF-CARRY C 10 =0
RMR = 000
ZIER = 000
CARRY A =0
CARRY B =0
CARRY C =0
Während des nächsten Zyklus (das ist der zweite 50-ns-Zyklus) speichern und erzeugen die in Frage kommenden Register und
Schaltungen Signale mit folgenden Werten;
709828/0831
- Jar-
RCHO RCA ZAQ RMN RMGA RMGB RMGC
ACSA CARRY ACSA SUM ACSB CARRY ACSB SUM ASSC CARRY ACSC SUM
FF-CARRY A FF-CARRY B FF-CARRY C RMR ZIER CARRY A CARRY B CARRY C DL-FF-CARRY A
Volladdierer (AM) Addiereraustra^it
0,543540000000
0,70 0
0,0 0
261
0,0 0
0,0 0
0,0 0
0,0 .0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
000
000
0,0
Es sei darauf hingewiesen, daß wieder Vielfache mit einem Null-Wert
durch die Übertragsicherungs-Addierernetzwerke addiert werden und zur Bildung eines Null-Teilproduktes führen, welches
den Summen- und Übertragkomponentensignalen entspricht, die in den RS- und RC-Registern 200-12 und 200-10 gespeichert sind.
Außerdem werden neue NuIl-Vielfache durch die Vielfach-Generatorschal
tungen erzeugt, da die in dem RMR-Register 314 gespeicherten Multiplikatorbits Nullen sind. Die Multiplikator-
709828/0631
- Ji -
bits RCH 12-18 werden ausgewählt und in dem RlVIR-Register 314
gespeichert. Der Voll-Übertragsaddierer 250-2 summiert die Inhalte der Register RC und RS, was zu einem Null-Austragsignal
für die PrQduktbits führt, die unberücksichtigt zu lassen sind (d.h., die für das Endergebnis nicht benötigt werden).
Während des nächsten Operationszyklus (das ist der dritte
50-ns-Zyklus) nehmen die Übertragsicherungs-Addierernetzwerke
ebenfalls eine Summierung der in den Verriegelungsschaltungen gespeicherten Null-Vielfache mit dem Null-Teilprodukt vor, was
zu einem Null-Teilprodukt führt. Der Voll-Übertragsaddierer erzeugt ebenfalls ein Null-Endproduktergebnis. Während dieses
Zyklus sind jedoch die in dem RMR-Register 314 gespeicherten Multiplikatorbits nicht alle Nullen, sondern vielmehr besitzt
die betreffende Größe den Binärwert "1100000". Dies bedeutet, daß die Gruppen der Multiplikatorbits für die Ebenen A, B und C
gegeben sind mit "000", "000" bzw. "110". Deshalb erzeugen die Vielfach-Generatorschaltungen 100-2 und 100-4 Null-Vielfache,
während die Vielfach-Generatorschaltungen 100-6 ein Vielfaches mit einem Wert des -1/2-fachen des Multiplikanden erzeugen. Die
RMGC-Vielfach-Generatorschaltung erzeugt das Vielfache dadurch,
daß die Eingabe-Multiplikand—Signale um eine Bitposition nach
rechts verschoben werden und daß sodann jedes Bitsignal. komplementiert oder invertiert wird. Das Übertrag-Ausgangssignal
ist ebenfalls eine binäre 1, um die Subtraktionsoperation durch die Zweierkomplementaddition zu vervollständigen.
Schließlich werden die Bits RCH 6-12 ausgewählt und in dem RMR-Register 314 gespeichert.
Während dieses Zyklus speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten;
709828/0631
-16 -
RCHO RCA ZAQ RMN RMGA RMGB RMGC RC
RS
ACSA CARRY ACSA SUM ACSB CARRY ACSB SUM ACSC CARRY ACSC SUM FF-CARRY A
FF-CARRY B FF-CARRY C RMR ZIER CARRY A CARRY B CARRY C DL-FF-CARRY A
Volladdierer (AM) Addiereraustragbit Addierer-F-Eintragbit
(CARRY = Übertrag)
0,543540000000
0,70 0
0,0 0
261
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 „ 0
0,0 0
0,0 0
ο,ο..; ο
0,0... 0
0,0 0
140
140
O -γ
0,0 (
O O
Der Oktalwert 1 in dem RMR-Register 314 entspricht dem Wert der Bitposition niedrigster Wertigkeit der nächsten Binärzahl (das
ist 5).
Während dieses Zyklus (d.h. während des vierten 50-ns-Zyklus)
speichern und erzeugen die in Frage kommenden Register und
709828/0631
Schaltungen Signale mit folgenden Werten:
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0,0 0
RMN = 261
RMGA = 0,0 0
RMGB = 0,0 0
RMGC = 1,437 7
RC = 0,0 0
RS =0,0 0
ACSA CARRY = 0,0 0
ACSA SUM = 0,0 0
ACSB CARRY = 0,0 0
ACSB SUM = 0,0 04
ACSCCARRY =0,0 0100
ACSC SUM = 1,437 7600
FF-CARRY A 10 =0
FF-CARRY B 10 =0
FF-CARRY C 10 =1
RMR = 035
ZIER = 035
CARRY A = 1
CARRY B =0
CARRY C =0
DL-FF-CARRY A 10 =0
Volladdierer (AM) = 0,0 0
Addiereraustragbit 71 =0
Addierer-F-Eintragbit 76 = 0
Addierer-F-Eintragbit 76 = 0
Es sei darauf hingewiesen, daß während dieses Zyklus die Übertragsicherungs-Addierernetzwerke
das erste von Null abweichende Vielfache zu dem Teilprodukt addieren. Da die Signale von den
RC- und RS-Registern 200-10 und 200-12 und von den RMGA-Verriegelungsschaltungen
Nullen sind, sind die Summen- und Über-
709828/0631
tragausgangssignale von dem ACSA-Übertragsicherungs-Addierernetzwerk
Nullen. Das gespeicherte Übertragausgangssignal FFCARRYC der Ebene C wird in das Übertragsicherungs-Addierernetzwerk
der Ebene B an der Stelle ACSB-70 eingefügt. Dies bewirkt seinerseits, daß das ACSB-Übertragsicherungs-Addierernetzwerk
eine von Null abweichende Summe erzeugt, wie dies oben angedeutet worden ist (d.h., daß mit Rücksicht darauf, daß
sämtliche Signale um zwei Bitpositionen nach links verschoben werden, die Summe = 4 ist).
Die Vielfach-Signale von den Verriegelungsschaltungen der Vielfach-Generatorschaltung
RMGC werden zu dem Teilprodukt mittels des Übertragsicherungs-Addierernetzwerks ACSC summiert, was zu
dem angegebenen Ergebnis führt. Während dieses Zyklus summiert der Volladdierer 250-2 noch Nullen.
Während dieses Zyklus besitzen die Multiplikatorbits in dem RMR-Register 314 den Binärwert »0011101". Die Multiplikatorbitgruppen
für die Ebenen A, B und C sind "101", "111" bzw."001
Demgemäß erzeugt die Vielfach-Generatorschaltung 100-2 ein
-i/2faches des Multiplikanden für die Addition zu dem Teilprodukt.
Demgemäß werden die Multiplikandensignale zu der Vielfach-Generatorschaltung 100-2 um eine Stelle nach rechts
verschoben, invertiert und in den RMGA-Verriegelungsschaltungen
gespeichert. Außerdem wird das Übertrag-Ausgangssignal in eine binäre Eins überführt und gespeichert. Die Multiplikatorsignale
"111" bewirken, daß die Vielfach-Generatorschaltung 100-4 ein NuIl-Vielfaches erzeugt. Demgemäß bewirkt die Vielfach-Generatorschaltung,
daß Nullen in die RMGB-Verriegelungsschaltungen
geladen werden und daß eine Null, das Übertrag-Ausgangssignal, zu erzeugen und zu speichern ist.
Die "001"-Multiplikatorsignale bewirken, daß die Vielfach-Generatorschaltung
100-6 ein +1/2faches des Multiplikanden erzeugt. Demgemäß verschiebt die Schaltung 100-6 die Eingangs-
709828/0631
Multiplikand—signale um eine Stelle nach rechts und lädt diese
Signale in die RMGC-Verriegelungsschaltungen für eine spätere Addition zu dem Teilprodukt. Ein binäres Null-Übertrag-Ausgangssignal
wird erzeugt und gespeichert. Schließlich werden die Bits RMN 0-6 ausgewählt und in demRMR-Register 314 gespeichert.
Während des nächsten Zyklus (das ist der fünfte 50-ns-Zyklus)
speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten:
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0,0 0
RMN = 261
RMGA = 1,437 7
RMGB = 0,0 0
RMGC =0,340 0
RC = 0,0 0100
RS = 1,437 7600
ACSA CARRY = 1,407 76
ACSA SUM = 0,330 0
ACSB CARRY = 0,0020 03
ACSB SUM = 1,6657 74
ACSCCARRY =0,3410 0114
ACSC SUM = 1,41437 7654
FF-CARRY A 10 =1
FF-CARRY B 10 =0
FF-CARRY C 10 =0
RMR = 054
ZIER = 054
CARRY A = 1
CARRY B =0
CARRY C =0
DL-FF-CARRY A 10 =0
Volladdierer (AM) = 3,440.. . . 0
709828/0631
Addiereraustragbit 71 = 1
Addier-F-iiiintragbit 76 = O
Addier-F-iiiintragbit 76 = O
Die in dem RMR-Register 314 gespeicherten Multiplikatorbits
besitzen den Binärwert "0101100". Dies bedeutet, daß die Hultiplikator-Bitgruppen für die Ebenen A, B und C gegeben
sind durch "100", "011" bzw. "010". Demgemäß erfordert die
Vielfach-Generatorsehaltung 100-2 die Erzeugung des -Ifachen
des Multiplikanden für die Addition zum dem Teilprodukt. Dementsprechend wird die Schaltung 100-2 so betrieben, daß die
Multiplikand—Eingangssignale invertiert und in den RMGA-Verriegelungsschaltungen
gespeichert werden. Außerdem wird das Übertrag-Ausgangssignal für die Ebene A in eine binäre
überführt, um die Zweierkomplementaddition zu beenden. Da die Multiplikatorbits für die Ebene B gegeben sind mit "011",
muß die Vielfach-Generatorsehaltung 100-4 das Einfache des Multiplikanden erzeugen. Demgemäß wird die Schaltung 100-4
derart betrieben, daß die Eingangs-Multiplikand signale in den RMGB-Verriegelungsschaltungen gespeichert werden. Außerdem
verbleibt das Übertrag-Ausgangssignal für die Ebene B im Binärzustand 0. Die Multiplikatorbits für die Ebene C
sind gegeben mit "010", was erforderlich macht, daß die Vielfach-Generatorsehaltung 100-6 das +1/2fache des Multiplikanden
erzeugt. Demgemäß verschiebt die Schaltung 100-6 die Eingangs-Multiplikand_signale um eine Stelle nach rechts
und lädt diese Signale in die RMGC-Verriegelungsschaltungen.
Das Übertrag-Ausgangssignal für die Ebene C ist eine binäre An dieser Stelle sei darauf hingewiesen, daß sämtliche Multiplikatorbits
überprüft worden sind.
Während dieses Zyklus summieren die Übertragsicherungs-Addierernetzwerke
die zuvor in jeder der Verriegelungsschaltungen RMGA, RMGB und RMGC gespeicherten Vielfache zu dem Teilprodukt
in der zuvor beschriebenen Weise. Während jedes
7098 28/063 1
-Jier"-
Zyklus addiert der Addierer 250-2 den Inhalt der RC- und RS-Register
200-10 und 200-12 und das Übertragsignal, das während des nächsten Zyklus von der Bitposition (das ist 76)
erzeugt wird. Dies berücksichtigt jegliche Auswirkung, die die unberücksichtigt gelassenen Bits auf das Endprodukt
haben werden.
Während des nächsten Zyklus (das ist der sechste 50-ns-Zyklus)
summieren die Übertragsicherungs-Addierernetzwerke die in den Verriegelungsschaltungen RMGA, RMGB und RMGC gespeicherten
Vielfache zu dem Teilprodukt. Der Addierer 250-2 erzeugt das Austragsignal bzw. Übertrag-Ausgangssignal. Die in Frage
kommenden Register und Schaltungen speichern und erzeugen Signale mit folgenden Werten:
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0
RMN = 261
RMGA = 1,07 7
RMGB = 0,70 0
RMGC = 0,340 0
RC = 0,3410 ..0114
RS = 1,41437 7654
ACSA CARRY = 1,16347 76
ACSASUM =0,61430 0
ACSB CARRY = 0,541020 03
ACSBSUM =1,232657 710
ACSCCARRY =0,240410 014
ACSCSUM =1,7661437 .740
FF-CARRY A 10 =1
FF-CARRY B 10 =0
FF-CARRY C 10 =0
DL-FF-CARRY A 10 =1
DL-FF-CARRY A 10 =1
Volladdierer (AM) = 0,31640 0114
Addiereraustragbit 71 =1
Addierer-F-Eintragbit 76 = 1
709828/0631
Dadurch wird die Reihe der 50-ns-Zyklen beendet, und die
Schaltungen des Blockes 401 versetzen das System in den Zustand, in welchem während des Beginns des nächsten Zyklus
wieder in den 100-ns-Betrieb zurückgeschaltet wird. In diesem Zyklus besitzen die in Frage kommenden Register und Schaltungen
folgende Werte
RC = 0,2404100 014
RS =1,7661437 740
DL-FF-CARRY A 10 =1
F-CARRY-7176 = 1
Volladdierer (AM) = 0,4671640 0
Während dieses Zyklus wird der um eine Stelle nach links verschobene
Inhalt des RC-Registers 200-10 zum Inhalt des RS-Registers 200-12 unter Bildung eines Endproduktes in den Stufen
0-71 des Addierers 250-2 addiert. Die Bitposition höchster Wertigkeit des Addierers wird dazu benutzt, Überlaufzustände
zu signalisieren. Da die Bildung des Endproduktes abgeschlossen ist, kann das Beispiel als abgeschlossen betrachtet
werden. Die zusätzlichen, oben erläuterten "Reinigungs"-Zyklen
dienen lediglich der Speicherung des Endproduktes in den in Frage kommenden Registern und der Einstellung der Anzeigen.
Der Vollständigkeit halber ist die nachstehende Tabelle
angefügt, um die Zustände der Übertragsicherungs-Addierernetzwerke und des Addierers während der letzten vier Zyklen
zu veranschaulichen.
Zyklus 6
RS
Rechts
ACSA
rmga
000 000
000 000
000 000
709828/0631
ACSB
ACSC J
ACSA SUM ACSA CARRY RMGB
ACSB SUM ACSB CARRY
ACSC SUM ACSC CARRY
-JttT-
00000 00000
00000 00100
00000 00000
0000000 0010000
0000000 0000000
1100011 1110000
1100011 1100000
0000000 0010000
Zyklus 7
ACSA
Rechts Rechts
RMGA
Γ ACSA SUM ACSB I ACSA CARRY RMGA
ACSC
ACSB SUM ACSB CARRY RMGC
ACSC SUM ACSC CARRY
Links
Links
AM
111 100 011 111 111
000 000 000 000 000
110 001 111 111 111
00001101100000 00011
11100000111 11000
00000000000 00011
1111101101011111 1100011
0000000001000...- 0011011
0011100000000 0000011
1100001100011111 1111011
0011100001000000 0000011
1110001111 11100000
0000000000 00100000
0 1110010 00000
709828/0631
Zyklus 8
RS ACSA J RC
Rechts Rechts
Ι11 100 001 100 011 111 111
000 111 000 010 000 000
100 011 111 111
Γ ACSA SUM 00011000110001100000 00011
ACSB ] ACSA CARRY 11001110011100111 11000
(.RMGB
01110000 00011
f ACSB SUI-! ACSC \ ACSB CARRY RMGC
1.11 0100110101101011111 100011
0010110000100001000 011000
0011100000 000011
ACSC SUM ACSC CARRY
1111110110001100011111 111000
0010100000100001000 000011
AM
RS
rc iiinks T
1110000110001111 1011
0011100001000 0111
AM
0001100111010000 .0011
Zyklus 9
AM
RS RC
1111111011000110001111 1000
0010100000100001000 0111
AM
0010011011100111010000 0000
709828/0631
Aus Vorstehendem dürfte ersichtlich sein, wie das System gemäß der vorliegenden Erfindung imstande ist, Multiplikationsoperationen
mit hohen Geschwindigkeiten auszuführen, indem eine Vielzahl von Vielfach-Generatorschaltungen in Kombination mit
einer entsprechenden Anzahl von Übertragsicherungs-Addiererschaltungen verwendet wird. Unter der Steuerung von Zeitsteuerschaltungen
erzeugt das System Gruppen von Vielfachsignalen parallel, während die Übertragsicherungs-Addierernetzwerke zuvor
erzeugte und gespeicherte Vielfachsignale zu den Übertragsund Summenkomponenten eines Teilprodukts summieren. Auf diese
Weise ist die für die Ausführung eines Multiplikationsbefehls erforderliche Gesamtzeit auf ein Minimum herabgesetzt.
Bei der bevorzugten Ausführungsform ist das System so organisiert,
daß der Aufbau mit Stromsteuerungs-Verknüpfungsschaltungen erleichtert ist. Es dürfte jedoch ohne weiteres ersichtlich
sein, daß ohne Abweichung von den Lehren der vorliegenden Erfindung eine Vielzahl von Abwandlungen vorgenommen werden
kann. So können z.B. Modifikationen bezüglich des Eingangsbereiches zur Anpassung des Systems an Busleitungen mit unterschiedlichen
Betriebseigenschaften vorgenommen werden. Außerdem können andere Arten von Steuereinrichtungen ebenfalls
verwendet werden. Darüber hinaus kann das System mit verschiedenen Typen von Verknüpfungsschaltungen aufgebaut sein,
die so ausgelegt sind, daß sie die angegebenen Funktionen ausführen. Bezüglich der für die einzelnen Bereiche zu verwendenden
Bausteine bzw. Baugruppen wird auf die Bücher "Arithmetic Operations in Digital Computers" von R0IC.Richards,
(Van Nostrand Publishing Company), "Computer Design Fundamentals"
von Chu (McGraw-Hill Book Company, Inc.) und "Pulse, Digital and Switching Waveforms" von Millman & Taub
(McGraw-Hill Book Company, Inc.) hingewiesen.
Durch die vorliegende Erfindung ist also eine Multiplikationsanordnung geschaffen, die eine Vielzahl von Vielfach-Genera-
709828/0631
torschaltungen aufweist, die jeweils gleichzeitig Binärsignale
zu erzeugen imstande sind, welche kennzeichnend sind für ein bestimmtes Vielfaches eines Multiplikanden, und zwar für unterschiedliche
Ziffern einer Gruppe von Multiplikatorziffern. Dabei ist jeweils eine andere der Multiplikator-Generatorschaltungen
mit einer anderen Addiererschaltung der in einer Vielzahl vorgesehenen in Reihe geschalteten Addiererschaltungen
verbunden, um die Binärsignale zuzuführen. Jede der Vielfach-Generatorschaltungen
enthält Speicherschaltungen, die so geschaltet
sind, daß sie Zeitsteuersignale von einer gemeinsamen Quelle her aufnehmen, um eine Überlappung in der Erzeugung
der binären Vielfachsignale zu bewirken. Auf diese Weise wird die Anzahl der Multiplikationszyklen auf einen minimalen Wert
herabgesetzt, die erforderlich sind, um eine Multiplikationsoperation auf Multiplikationsbefehle hin auszuführen.
709828/0631
Claims (25)
1. Mit hoher Geschwindigkeit arbeitendes Multiplikationssystem
zur Ausführung einer Multiplikationsoperation auf die Aufnahme von Signalen hin, die einem Multiplikator und einem
Multiplikanden entsprechen, dadurch gekennzeichnet, daß eine Vielzahl von Vielfach-Generatoreinrichtungen (100)
vorgesehen ist, die unterschiedliche Vielfache des genannten Multiplikanden erzeugen und die,jeweils so geschaltet
sind, daß sie unterschiedliche Gruppen von Signalen des genannten Multiplikators und des genannten Multiplikanden
aufnehmen, daß eine entsprechende Anzahl von in Reihe geschalteten
Ebenen von Übertragsicherungs-Addierereinrichtungen (200) vorgesehen ist, die Summen- und Übertragssignale erzeugen, daß die Ebenen der Übertragsicherungs-Addierereinrichtungen
(200) mit unterschiedlichen Vielfach-Generatorschaltungen
(100) derart verbunden sind, daß zur Erzeugung von Summen- und Übertragssignalen eine
Summierung der Reihen der von den betreffenden Generatoreinrichtungen (100) erzeugten Vielfach-Signale erfolgt,
daß eine letzte Ebene der Addierereinrichtungen so geschaltet ist, daß sie die Summen- und Übertragssignale
an eine erste Ebene der Addierereinrichtungen abgibt, daß Zeitsteuereinrichtungen (400) vorgesehen sind, welche
Operationszyklen festlegende Taktsignale in dem Fall erzeugen, daß die genannten Reihen der von den Generatoreinrichtungen
(100) erzeugten Vielfachsignale gleichzeitig den genannten Ebenen zugeführt werden, und daß die Zeitsteuereinrichtungen
(400) Schaltungseinrichtungen enthalten, welche die genannten Vielfach-Generatoreinrichtungen
(100) derart freigebende Taktsignale erzeugen, daß unter Minimierung der Anzahl der zur Ausführung der Multiplikationsoperation
erforderlichen Zyklen eine Überlappung in der Erzeugung der genannten Reihen der Vielfachsignale
und eine Summierung der Reihen der während vorhergehender Zyklen erzeugten Vielfachsignale erfolgen.
700821/0631
265824S
2. System nach Anspruch 1, dadurch gekennzeichnet, daß mit den übertragsicherungs-Addierereinrichtungen (200) einer
letzten Ebene der genannten Ebenen erste und zweite Registereinrichtungen (200-10, 200-12) verbunden sind und
daß diese beiden Registereinrichtungen mit der Übertragssicherungs-Addierereinrichtung
einer ersten Ebene derart verbunden sind, daß eine Summierung der Übertrags- und
Summensignale mit der Reihe der durch eine nächste Gruppe von MultiplikatorSignalen ausgewählten Vielfachsignale
erfolgt.
3. System nach Anspruch 2, dadurch gekennzeichnet, daß mit den beiden Registern (200-10, 200-12) ein Addierer (250)
verbunden ist, der derart betrieben ist, daß er die während
aufeinanderfolgender Zyklen gespeicherten Summen- und Übertragssignale zur Bildung eines Endproduktes summiert.
4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß die Zeitsteuereinrichtungen (400) eine Betriebsartsteuereinrichtung
umfassen, welche Signale erzeugt, die eine Anzeige in dem Fall liefern, daß ein Systembetrieb in einer ersten bzw. zweiten Betriebsart
vorliegt, und daß durch die genannten Steuersignale Schaltungseinrichtungen in einec solchen Zustand überführt werden,
daß unter Minimierung der zur Ausführung der Multiplikationsoperation dienenden Zeitspanne die Dauer der
genannten Zyklen verkürzt wird.
5. System nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß jede Vielfach-Generatoreinrichtung (100) eine Decodereinrichtung enthält, die so geschaltet ist,
daß sie eine entsprechende Gruppe der Multiplikatorsignale
aufnimmt, daß eine Anzahl von auswählbaren Gatterschaltungen vorgesehen ist, die unterschiedliche Vielfache
innerhalb der genannten Reihe der Vielfachsignale erzeugen,
709820/0631
daß jede Gatterschaltung so geschaltet ist, daß sie die Multiplikandensignale aufnimmt,und mit der Decödereinrichtung
derart verbunden ist, daß eine Auswahl der Vielfachen in Übereinstimmung mit der genannten Gruppe der Multiplikatorsignale
erfolgt, daß eine Vielzahl von Verriegelungsschaltungen vorgesehen ist, die betriebsmäßig mit jeder
der Gatterschaltungen derart verbunden sind, daß für ein
ausgewähltes Vielfaches charakteristische Signale abgespeichert werden, daß die Vielzahl der Verriegelungsschaltungen
mit der Zeitsteuereinrichtung (400) verbunden ist und daß die Vielzahl der Verriegelungsschaltungen der jeweiligen
Vielfach-Generatoreinrichtung (100) durch die Taktsignale in einen solchen Zustand überführbar ist, daß
die durch ausgewählte Gatterschaltungen erzeugten Vielfache abgespeichert werden.
6. System nach Anspruch 5, dadurch gekennzeichnet, daß der Multiplikator und der Multiplikand jeweils eine bestimmte
Anzahl von Ziffern enthalten, daß die Gatterschaltungen
jeweils eine Anzahl von Eingangsanschlüssen aufweisen,. welche Anzahl zumindest der um eins vergrößerten Anzahl
der Multiplikandenziffern entspricht, daß die Anzahl der Eingangsanschlüsse einer ersten bestimmten Anzahl von
Gatterschaltungen so geschaltet ist, daß diese Eingangsanschlüsse Signale entsprechend den Multiplikandenziffern
in der aufgenommenen Reihenfolge aufnehmen, und daß die genannte Anzahl der Eingangsanschlüsse einer zweiten bestimmten
Anzahl von Gatterschaltungen so geschaltet ist, daß diese Eingangsanschlüsse Signale entsprechend den um
ein Bit von der aufgenommenen Reihenfolge verschobenen Multiplikandenziffern aufnehmen.
7. System nach Anspruch 6, dadurch gekennzeichnet, daß die erste und zweite bestimmte Anzahl von Gatterschaltungen
709828/0631
zwei beträgt und daß die von der betreffenden Anzahl von Eingangsanschlüssen jeder der zu der zweiten bestimmten
Anzahl von Gatterschaltungen gehörenden Gatterschaltungen aufgenommenen Signale in derselben bestimmten Richtung verschoben
sind.
8. System nach Anspruch 7, dadurch gekennzeichnet, daß die
genannte selbe bestimmte Richtung durch eine Verschiebung um ein Bit nach rechts gegeben ist und daß die zu der genannten
ersten und zweiten bestimmten Anzahl von Gatterschaltungen gehörenden Gatterschaltungen in einem solchen
Zustand sind, daß Vielfachsignale an die genannte Vielzahl von Verriegelungsschaltungen entsprechend dem + Einfachen
des Multiplikanden bzw. + i/2fachen des Multiplikanden abgebbar sind.
9. System nach Anspruch 8, dadurch gekennzeichnet, daß die verschiedenen Gruppen von Signalen des Multiplikators zumindest
einem unterschiedlichen Paar von Multiplikatorbits und dem Multiplikatorbits niedrigster Wertigkeit einer
Gruppe von Multiplikatorbits entsprechen, die den Vielfach-Generatoreinrichtungen
einer vorhergehenden Ebene zugeführt worden sind, und daß während jedes Operationszyklus
eine Anzahl von Multiplikatorziffern verarbeitet wird, die
der Anzahl von Ebenen multipliziert mit der Anzahl der Ziffern in der anderen Gruppe von Signalen abzügulich 1 entspricht
.
10. System nach Anspruch 9» dadurch gekennzeichnet, daß die
genannten Ebenen jeweils unter Bildung eines Feldes verbunden sind, welches so ausgelegt ist, daß die Anzahl der
Übertragsicherungs-Addierereinrichtungen der jeweiligen Ebene an jedem Ende um 2 größer ist als die Anzahl der
Übertragsicherungs-Addierereinrichtungen in der vorher-
709S28/0831
gehenden Ebene, derart, daß die genannten Vielfachsignale
sämtlicher Vielfach-Generatoreinrichtungen den Übertragssicherungs-Addiererschaltungen
zum Zwecke der richtigen Erzeugung der Summen- und Übertragssignale des Teilprodukts
zuführbar sind.
11. Mit hoher Geschwindigkeit arbeitendes Multiplikationssystem zur Ausführung einer binären Multiplikationsoperation
auf Signale hin, die einem Multiplikator und einem Multiplikanden entsprechen, dadurch gekennzeichnet, daß
eine Vielzahl von Vielfach-Generatorschaltungen vorgesehen ist, die unterschiedlichen Vielfachen des genannten Multiplikanden
entsprechende Signale erzeugen und die jeweils so geschaltet sind, daß sie unterschiedliche Gruppen der
Signale des Multiplikators und des Multiplikanden aufnehmen, daß eine entsprechende Anzahl von in Reihe liegenden
Ebenen von Sicherungs-Addiererschaltungen vorgesehen ist, die zur Erzeugung von Summen- und ÜbertragsSignalen dienen,
daß die Übertragssicherungs-Addiererschaltungen der jeweiligen Ebene mit zumindest einer der Vielfach-Generatorschaltungen
derart verbunden sind, daß eine Summierung der Reihen der Vielfachsignale erfolgt, die von den betreffenden
Schaltungen erzeugt werden, derart, daß Summen- und Übertragssignale gebildet werden, die kennzeichnend sind
für ein Endprodukt, daß eine letzte Ebene der Addiererschaltungen die Summen- und Übertragssignale an eine erste
Ebene der Addiererschaltungen abgibt, daß Zeitsteuereinrichtungen (400) vorgesehen sind, die Taktsignale erzeugen,
durch welche Zeitintervalle festgelegt·sind, mittels derer
die genannten Reihen der von den Generatorschaltungen erzeugten Vielfachsignale gleichzeitig an die Ebenen der
Übertragssicherungs-Addiererschaltungen während eines Operationszyklus abgebbar sind, und daß die Zeitsteuereinrichtungen
Schaltungseinrichjtungen umfassen, durch
709828/0631
die Taktsignale erzeugt werden, welche die Vielfach-Generatorschaltungen
unter Minimierung der zur Ausführung der Multiplikationsoperation erforderlichen Zeitspanne
in den Stand versetzen, die Bereitstellung der genannten Reihen der "Vielfachsignale und die Summenbildung
der Reihen der Vielfachsignale zu überlappen, die während vorhergehender Zyklen erzeugt worden sind. -
12. System nach Anspruch 11, dadurch gekennzeichnet, daß ein
erstes Register (200-12) vorgesehen ist, welches die von der letzten Ebene der Übertragssicherungs-Addiererschaltungen
(200-2) aufgenommenen Summensignale zu speichern vermag, daß ein zweites Register (200-10) vorgesehen ist,
welches die von der letzten Ebene der Übertragssicherungs-Addiererschaltungen (200-2) aufgenommenen Übertragssignale
zu speichern vermag, und daß mit den beiden Registern (200-12, 200-10) Verbindungseinrichtungen verbunden sind, die eine
Verbindung zu den Übertragssicherungs-Addiererschaltungen einer ersten Ebene (200-6) herstellen, derart, daß eine
Summierung der für ein Teilprodukt kennzeichnenden Übertrags- und Summensignale mit der Reihe der Vielfache erfolgt,
die für eine nächste Gruppe von Multiplikatorsignalen erzeugt werden.
13. System nach Anspruch 12, dadurch gekennzeichnet, daß mit
den beiden Registern (200-12, 200-10) ein Addierer (250-2) verbunden ist, der die gespeicherten Summen-Übertragssignale
während aufeinanderfolgender Zyklen zur Bildung eines Endproduktes summiert.
14. System nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet,
daß die Zeitsteuereinrichtung (400) eine Betriebssteuereinrichtung umfaßt, welche Signale erzeugt,
die kennzeichnend sind für eine erste bzw. zweite System-
709828/0631
betriebsart, und daß durch die genannten Steuersignale Schalteinrichtungen in einen solchen Zustand überführbar
sind, daß unter Erhöhung der Frequenz der Taktsignale die zur Ausführung der genannten Multiplütationsoperation
erforderliche Zeitspanne minimiert ist.
15. System nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet,
daß die in einer Vielzahl vorgesehenen Vielfach-Generatorschaltungen jeweils eine Decoderschaltung enthalten,
die so geschaltet ist, daß sie eine entsprechende Gruppe der Multiplikatorsignale aufnimmt, daß eine Anzahl
von auswählbaren Gatterschaltungen vorgesehen ist, die unterschiedliche Vielfachsignale innerhalb der genannten
Reihe der Vielfachsignale erzeugen und die jeweils die Multiplikandensignale aufnehmen und mit der Decoderschaltung
derart verbunden sind, daß eine Auswahl in Übereinstimmung mit der genannten Gruppe der Multiplikatorsignale
erfolgt, daß eine Vielzahl von Verriegelungsschaltungen vorgesehen ist, die mit den Gatterschaltungen derart
verbunden sind, daß für ein ausgewähltes Vielfaches kennzeichnende Signale abgespeichert werden, und daß die genannte
Vielzahl der Verriegelungsschaltungen mit den Zeitsteuereinrichtungen
verbunden und durch die genannten Taktsignale in einen solchen Zustand überführbar .ist , daß
eine Abspeicherung der Vielfachsignale erfolgt, die durch
entsprechende Gatterschaltungen zugeführt werden, welche durch die jeweilige Decoderschaltung ausgewählt sind.
16. System nach Anspruch 15, dadurch gekennzeichnet, daß der Multiplikator und der Multiplikand jeweils eine bestimmte
Anzahl von Bits umfassen, daß die Gatterschaltungen jeweils eine Anzahl von Eingangsanschlüssen aufweisen,
welche Anzahl zumindest um eins größer ist als die Anzahl der Multiplikandenbits, die während der Multiplikations-
709828/0831
operation verarbeitet werden, daß die Anzahl der Eingangsanschlüsse einer ersten bestimmten Anzahl der Gatterschaltungen
Signale entsprechend den Multiplikandenbits in der aufgenommenen Reihenfolge aufnimmt und daß die
genannte Anzahl der Eingangsanschlüsse einer zweiten bestimmten Anzahl von Gatterschaltungen Signale aufnimmt,
die den um eine Bitposition von der aufgenommenen Reihenfolge aus verschobenen Multiplikandenbits entsprechen.
17· System nach Anspruch 16, dadurch gekennzeichnet, daß
die erste und zweite bestimmte Anzahl der Gatterschaltungen
zwei beträgt und daß die von dieser Anzahl von Gatterschaltungen aufgenommenen Signale in derselben bestimmten
Richtung verschoben werden.
18. System nach Anspruch 17, dadurch gekennzeichnet, daß die genannte selbe bestimmte Richtung durch eine Verschiebung
nach rechts um eine Bitposition gegeben ist, daß die zu der genannten ersten und zweiten bestimmten
Anzahl von Gatterschaltungen gehörenden Gatterschaltungen in einen solchen Zustand versetzbar sind, daß die Vielfachsignale
an die genannte Vielzahl der Verriegelungsschaltungen entsprechend dem + Einfachen des Multiplikanden
bzw. + i/2fachen des Multiplikanden abgebbar sind, und
daß eine weitere Gatterschaltung der auswählbaren Gatterschaltungen in einen solchen Zustand versetzbar ist, daß
Vielfachsignale an die genannte Vielzahl der Verriegelungsschaltungen entsprechend dem Nullfachen des Multiplikanden
abgebbar sind.
19. System nach Anspruch 15, dadurch gekennzeichnet, daß die zu unterschiedlichen Gruppen von Signalen gehörenden
Signale des Multiplikators zumindest einem unterschiedlichen Paar von Multiplikatorbits und dem Multiplikatorbits
709828/0631
niedrigster Wertigkeit derjenigen Gruppe von Multiplikatorbits
entsprechen, die der Vielfach-Generatorschaltung einer vorhergehenden Ebene zugeführt worden sind, und daß während
jedes Operationszyklus eine Anzahl von Multiplikatorbits
verarbeitet wird, welche Anzahl der Anzahl von Ebenen der Übertragssicherungs-Addiererschaltungen multipliziert mit
der Anzahl der Bits in der anderen Gruppe von Signalen abzüglich 1 entspricht.
20. System nach Anspruch 19, dadurch gekennzeichnet, daß die genannten Ebenen der Übertragssicherungs-Addiererschaltungen
unter Bildung eines Feldes miteinander verbunden sind, welches so ausgelegt ist, daß die Anzahl der Übertragssicherungs-Addiererschaltungen
in der jeweiligen Ebene an jedem Ende um 2 größer ist als die Anzahl der
Übertragssicherungs-Addiererschaltungen in einer vorhergehenden Ebene, derart, daß die Vielfachsignale von den
Vielfach-Generatorschaltungen an die in Frage kommenden Übertragssicherungs-Addiererschaltungen der jeweiligen
Ebene zur richtigen Erzeugung der Summen- und Übertragssignale
des genannten Endprodukts abgebbar sind.
21. System nach Anspruch 20, dadurch gekennzeichnet, daß die Decoderschaltung der jeweiligen Vielfach-Generatorschaltung
auf jede Gruppe der Multiplikatorbits hin in einen solchen Zustand versetzbar ist, daß in Übereinstimmung
mit unterschiedlichen Werten der betreffenden Gruppe der Multiplikatorbits Vielfache ausgewählt werden, die folgende
Werte besitzen:
709028/0631
Multiplikatorbit-
¥ert Vielfache
100 -1 mal Multiplikand
101 -1/2 mal Multiplikand
110 -1/2 mal Multiplikand
111 Null mal Multiplikand
22. System nach Anspruch 21, dadurch gekennzeichnet, daß eine Übertragerzeugerschaltungseinrichtung vorgesehen ist, die
die jeweilige Gruppe der Multiplikatorbits aufnimmt und die Einrichtungen umfaßt, welche mit den Übertragsicherungs-Addiererschaltungen
verschiedener Ebenen verbunden sind, und daß die genannten Schaltungseinrichtungen Schaltungen
umfassen, welche binäre "1" Eintragsignale für positive Vielfache und binäre "0"-Eintragsignale für negative
Vielfache zum Zwecke der Vervollständigung der Summierung der genannten Vielfache erzeugen.
23. System nach Anspruch 20, dadurch gekennzeichnet, daß eine mikroprogrammierte Steuereinrichtung vorgesehen ist,
die auf einen eine Multiplikationsoperation angebenden codierten Befehl hin ein Ausgaberegister mit einem ersten
Mikrobefehlswort lädt, welches so codiert ist, daß das System in einen Zustand für die betreffende Multiplikationsoperation
überführbar ist, daß Registereinrichtungen vorgesehen sind, die die Multiplikatorbits aufnehmen und
die mit jeder der Vielfach-Generatorschaltungen verbunden
sind, daß Decodereinrichtungen mit den mikroprogrammierten Steuereinrichtungen derart verbunden sind, daß auf das genannte
Mikrobefehlswort hin Steuersignale erzeugt werden, daß mit den Decodereinrichtungen und den Registereinrichtungen
Zählereinrichtungen verbunden sind, die durch die genannten Steuersignale von den Decodereinrichtungen in
709828/0631
eine erste bestimmte Zählerstellung überführbar sind,
welche die Anzahl der Zyklen festlegt und die während jedes Operationszyklus um 1 verkleinerbar ist, und daß
die genannten Zählereinrichtungen die genannten Registereinrichtungen in einen solchen Zustand zu überführen gestatten,
daß Zahlen unterschiedlicher Gruppen von Multiplikatorsignalen an die Vielfach-Generatorschaltungen
während aufeinanderfolgender Operationszyklen solange abgebbar sind, bis die Zählerstellung der genannten
Zählereinrichtungen von der genannten ersten bestimmten Zählerstellung auf eine zweite bestimmte Zählerstellung
herabgesetzt ist, welche die Beendigung der Verarbeitung sämtlicher Multiplikatorbits anzeigt.
24. Verfahren zur Durchführung einer Multiplikationsoperation mittels einer Vielzahl von in Reihe geschalteten Übertragsicherungsaddierern
auf das Auftreten von Signalen hin, die einem Multiplikator und einem Multiplikanden
entsprechen, insbesondere bei einem System nach einem der Ansprüche 1 bis 23, dadurch gekennzeichnet,
a) daß während eines ersten Operationszyklus gleichzeitig
eine erste Reihe von Signalen erzeugt wird, die durch eine Anzahl der essten Gruppe von Multiplikatorsignalen
bestimmten Vielfachen der genannten Multiplikanden entsprechen,
b) daß während eines nächsten Operationszyklus die genannte Reihe der Vielfachsignale gespeichert wird,
c) daß während des nächsten Zyklus unterschiedliche Vielfache der genannten Reihe von Vielfachen an jede der
Übertragsicherungs-Addiererschaltungen abgegeben wird und
d) daß während des nächsten Operationszyklus eine zweite Reihe von Vielfachen gleichzeitig erzeugt wird, die
709828/0631
durch eine Anzahl von zweiten Gruppen von Multiplikatorsignalen bestimmt sind, wobei eine Überlappung der
Erzeugung der betreffenden Reihen der Vielfachsignale und der Summierung der Reihen der Vielfachsignale
mittels der Vielzahl der Übertragssicherungs-Addierernetzwerke unter Minimierung der zur Ausführung der genannten
Multiplikationsoperation dienenden Zyklen erfolgt.
25. Verfahren nach Anspruch Zk, dadurch gekennzeichnet, daß
die Schritte a) bis d) für jede andere Anzahl von Gruppen von den Multiplikator bildenden Multiplikatorsignalen
wiederholt werden.
709828/0631
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/642,844 US4041292A (en) | 1975-12-22 | 1975-12-22 | High speed binary multiplication system employing a plurality of multiple generator circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2658248A1 true DE2658248A1 (de) | 1977-07-14 |
DE2658248C2 DE2658248C2 (de) | 1989-03-23 |
Family
ID=24578274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762658248 Granted DE2658248A1 (de) | 1975-12-22 | 1976-12-22 | Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation |
Country Status (7)
Country | Link |
---|---|
US (1) | US4041292A (de) |
JP (1) | JPS592054B2 (de) |
BE (1) | BE849736A (de) |
CA (1) | CA1080850A (de) |
DE (1) | DE2658248A1 (de) |
FR (1) | FR2336734A1 (de) |
GB (1) | GB1570791A (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4130879A (en) * | 1977-07-15 | 1978-12-19 | Honeywell Information Systems Inc. | Apparatus for performing floating point arithmetic operations using submultiple storage |
US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
US4168530A (en) * | 1978-02-13 | 1979-09-18 | Burroughs Corporation | Multiplication circuit using column compression |
US4217640A (en) * | 1978-12-11 | 1980-08-12 | Honeywell Information Systems Inc. | Cache unit with transit block buffer apparatus |
JPS55103642A (en) * | 1979-02-01 | 1980-08-08 | Tetsunori Nishimoto | Division unit |
US4228520A (en) * | 1979-05-04 | 1980-10-14 | International Business Machines Corporation | High speed multiplier using carry-save/propagate pipeline with sparse carries |
US4550335A (en) * | 1981-02-02 | 1985-10-29 | Rca Corporation | Compatible and hierarchical digital television system standard |
US4455611A (en) * | 1981-05-11 | 1984-06-19 | Rca Corporation | Multiplier for multiplying n-bit number by quotient of an integer divided by an integer power of two |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4597053A (en) * | 1983-07-01 | 1986-06-24 | Codex Corporation | Two-pass multiplier/accumulator circuit |
US4646257A (en) * | 1983-10-03 | 1987-02-24 | Texas Instruments Incorporated | Digital multiplication circuit for use in a microprocessor |
CA1232072A (en) * | 1983-12-26 | 1988-01-26 | Hideo Miyanaga | Multiplication circuit using a multiplier and a carry propagating adder |
US4680701A (en) * | 1984-04-11 | 1987-07-14 | Texas Instruments Incorporated | Asynchronous high speed processor having high speed memories with domino circuits contained therein |
JPS6297033A (ja) * | 1985-10-24 | 1987-05-06 | Hitachi Ltd | 乗算装置 |
US4769780A (en) * | 1986-02-10 | 1988-09-06 | International Business Machines Corporation | High speed multiplier |
US4745570A (en) * | 1986-05-27 | 1988-05-17 | International Business Machines Corporation | Binary multibit multiplier |
US4864529A (en) * | 1986-10-09 | 1989-09-05 | North American Philips Corporation | Fast multiplier architecture |
US4862405A (en) * | 1987-06-30 | 1989-08-29 | Digital Equipment Corporation | Apparatus and method for expediting subtraction procedures in a carry/save adder multiplication unit |
JPH03142627A (ja) * | 1989-10-24 | 1991-06-18 | Bipolar Integrated Technol Inc | 集積浮動小数点乗算器アーキテクチャ |
US5631859A (en) * | 1994-10-27 | 1997-05-20 | Hewlett-Packard Company | Floating point arithmetic unit having logic for quad precision arithmetic |
US6611856B1 (en) * | 1999-12-23 | 2003-08-26 | Intel Corporation | Processing multiply-accumulate operations in a single cycle |
US6742011B1 (en) * | 2000-02-15 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry |
US7177421B2 (en) * | 2000-04-13 | 2007-02-13 | Broadcom Corporation | Authentication engine architecture and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1524175A1 (de) * | 1965-11-03 | 1972-10-26 | Ibm | Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen |
DE2221692A1 (de) * | 1971-05-05 | 1972-11-09 | Rca Corp | Photographisches Bildschirmdruckverfahren fuer eine Kathodenstrahlroehre |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3372269A (en) * | 1961-06-30 | 1968-03-05 | Ibm | Multiplier for simultaneously generating partial products of various bits of the multiplier |
US3691359A (en) * | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
FR2175261A5 (de) * | 1972-03-06 | 1973-10-19 | Inst Francais Du Petrole | |
US3761698A (en) * | 1972-04-24 | 1973-09-25 | Texas Instruments Inc | Combined digital multiplication summation |
US3873820A (en) * | 1974-01-31 | 1975-03-25 | Ibm | Apparatus for checking partial products in iterative multiply operations |
US3949209A (en) * | 1975-04-04 | 1976-04-06 | Honeywell Information Systems, Inc. | Multiple-generating register |
-
1975
- 1975-12-22 US US05/642,844 patent/US4041292A/en not_active Expired - Lifetime
-
1976
- 1976-11-24 CA CA266,459A patent/CA1080850A/en not_active Expired
- 1976-12-21 JP JP51154111A patent/JPS592054B2/ja not_active Expired
- 1976-12-21 FR FR7638608A patent/FR2336734A1/fr active Granted
- 1976-12-22 BE BE173536A patent/BE849736A/xx not_active IP Right Cessation
- 1976-12-22 DE DE19762658248 patent/DE2658248A1/de active Granted
- 1976-12-22 GB GB53478/76A patent/GB1570791A/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1524175A1 (de) * | 1965-11-03 | 1972-10-26 | Ibm | Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen |
DE2221692A1 (de) * | 1971-05-05 | 1972-11-09 | Rca Corp | Photographisches Bildschirmdruckverfahren fuer eine Kathodenstrahlroehre |
Also Published As
Publication number | Publication date |
---|---|
JPS592054B2 (ja) | 1984-01-17 |
BE849736A (fr) | 1977-04-15 |
FR2336734B1 (de) | 1983-03-18 |
FR2336734A1 (fr) | 1977-07-22 |
DE2658248C2 (de) | 1989-03-23 |
JPS5279741A (en) | 1977-07-05 |
US4041292A (en) | 1977-08-09 |
CA1080850A (en) | 1980-07-01 |
GB1570791A (en) | 1980-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2658248A1 (de) | Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation | |
DE2724125C2 (de) | ||
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
EP0123921B1 (de) | Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE2803425A1 (de) | Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken | |
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE2221693B2 (de) | Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen | |
DE1114050B (de) | Elektronischer Gleitkomma-Rechner | |
DE3447634C2 (de) | ||
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE2732008A1 (de) | Einrichtung zur reduzierung von fibonacci-p-codes auf die minimalform | |
DE2830334A1 (de) | Multipliziereinrichtung | |
DE1051030B (de) | Elektronische Multiplikationsmaschine | |
DE1123496B (de) | Elektronische Multiplikations- und Divisionseinrichtung | |
DE1223177B (de) | Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl | |
DE1449564C3 (de) | Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden | |
DE19635111A1 (de) | Multiplizierer | |
DE2337356C3 (de) | Im Dualsystem arbeitende Multiplizierschaltung | |
DE2902488C2 (de) | ||
DE19514739C2 (de) | Multipliziereinrichtung | |
DE1549461A1 (de) | Divisionseinrichtung | |
DE1303692C2 (de) | Binaerrechner | |
DE1774338A1 (de) | Rechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |