DE2658248C2 - - Google Patents
Info
- Publication number
- DE2658248C2 DE2658248C2 DE2658248A DE2658248A DE2658248C2 DE 2658248 C2 DE2658248 C2 DE 2658248C2 DE 2658248 A DE2658248 A DE 2658248A DE 2658248 A DE2658248 A DE 2658248A DE 2658248 C2 DE2658248 C2 DE 2658248C2
- Authority
- DE
- Germany
- Prior art keywords
- signals
- multiplier
- bit
- multiples
- carry
- 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.)
- Expired
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
Description
Die Erfindung bezieht sich auf ein Hochgeschwindigkeits-Multi
plikationswerk für Parallelverarbeitung in Rechenanlagen unter
Verwendung von Vielfachen des Multiplikanden, zu deren Erzeugung
eine Vielzahl von Vielfachen-Generatoreinrichtungen vorgesehen
ist. Diese Vielfach-Generatoreinrichtungen erhalten Signale
von verschiedenen Bitgruppen des Multiplikators und
des Multiplikanden, wobei jede von diesen Generatoreinrichtungen
Register umfaßt, die zur Speicherung von Signalen dienen,
die mindestens ein Vielfaches darstellen, das auf Grund der
genannten Signale von Multiplikator und Multiplikand erzeugt
wurde.
Es ist bekannt, Multiplikationsoperationen dadurch auszuführen,
daß die erwünschten Vielfachen eines Multiplikanden - im Gegensatz
zur Vorspeicherung der Vielfachen - während einer Multipli
kationsoperation erzeugt werden, wie es z. B. das US-Patent
37 30 425 lehrt. In dieser bekannten Anordnung wird der Multiplikator
mit zwei multipliziert, indem er z. B. um ein Bit nach
links verschoben wird, bevor mit der Multiplikationsoperation
begonnen wird. Während der anschließenden Multiplikationsoperation
wählen die in der Multiplikationsanordnung
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 die 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-Ver
knü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 Reihe geschalteten Addierern hinzuaddiert werden. Ein
Beispiel für Art von Multiplikation ist beschrieben
in dem Buch "The Logic of Computer Arithmetic", von Ivan
Flores, Prentice-Hall, Inc., Copyright 1963.
Bei anderen 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
in der US-PS 36 41 331 angegeben. Obwohl bei
der in dieser Patenschrift 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 von der Multiplikationsoperation zu erzeugen und
zu speichern.
Die Ausführung einer Multiplikation in einem Rechner unter
Bildung von Vielfachen des Multiplikanden sind auch noch in
anderen Patentschriften in zahlreichen Variationen vorgeschlagen
worden, z. B. in der DE-OS 22 21 693 von demselben Anmelder.
Eine Rechenmaschine zur Durchführung von Rechenoperationen
unter Aufteilung von jeder Rechenoperation in mehrere Teiloperationen,
die in getrennten Teilrechenvorrichtungen durchgeführt
werden, ist in der deutschen Patenschrift 9 75 966
offenbart.
Weiterhin ist aus der DE-OS 15 24 177 eine Multiplikationseinrichtung
zur teilweise parallellen Multiplikation binärer
Faktoren bekannt, die Multiplikanden-Vervielfachungsschaltungen
umfaßt, die aus nacheinander zugeführten Gruppe je p
Multilpikanden-Ziffern Vielfache zu von diesen Gruppen dargestellten
Werten bilden.
Diesen Multiplikationswerken bei parallel arbeitenden Hochge
geschwindigkeitsrechnern ist die Verwendung von Vielfachen des
Multiplikanden gemeinsam. Die Algorithmen für die Durchführung
der binären Miltiplikation laufen alle auf folgende logischen
Grundfunktionen hinaus: Addition, Links-/Rechts-Verschiebung und
Komplementbildung. Wie die oben genannten Schriften zeigen, gibt
es zahlreiche Varianten, wie man aus diesen Grundfunktionen einen
Multiplikationsalgorithmus aufbaut und Schaltungen zur Durchführung
dieser Algorithmen realisiert.
Ziel des Entwurfes von Multiplikationswerken für parallel arbeitende
Hochgeschwindigkeitsrechner ist stets, die Zeit für die
Durchführung der Multiplikationen so klein wie möglich zu halten.
Ideal wäre die Durchführung der Multiplikation in nur einem
Schritt (siehe z. B. Speiser, Digitale Rechenanlagen, Springer
Berlin 1961, S. 199), aber dies würde einen prohibitiven Hardwareaufwand
bedingen. Man muß deshalb vernünftige Zwischenlösungen
entwerfen. Dabei wird der Hardwareaufwand in Grenzen gehalten
und durch gruppenweise Zusammenfassung von Multiplikanden-Bits
und Multiplikator-Bits werden der eingesetzten Hardware entsprechend
große Teilprodukte ermittelt, die dann schrittweise, aber
natürlich in möglichst wenigen Schritten, zum Resulat akkumuliert
werden.
Bei dieser Problemstellung steht bei der vorliegenden Erfindung
die Aufgabe im Vordergrund, eine weitere Beschleunigung des
Multiplikationsvorganges durch überlappende Arbeitsweise zu
erzielen. Die Erzeugung mehrerer Vielfache für ein Teilprodukt
erweist sich dabei als besonders vorteilhaft.
Die Lösung dieser Aufgabe wird durch Hochgeschwindigkeits-
Multiplikationswerk erreicht, das durch die Merkmale des Patentanspruchs 1
gekennzeichnet ist.
Das Hochgeschwindigkeits-Multiplikationswerk gemäß der Erfindung
wird nachfolgend anhand von Zeichnungen mit den ihm anhaftenden
Eigenschaften und Vorteilen beispielsweise näher
erläutert. Es zeigt
Fig. 1 ein Blockdiagramm des Multiplikationswerks;
Fig. 2a weitere Einzelheiten der Decoderschaltungen von Fig. 1;
Fig. 2b weitere Einzelheiten der Taktsteuerschaltungen von Fig. 1;
Fig. 2c weitere Einzelheiten eines Übertragsicherungs-Addiernetzwerks
und von binären Vielfach-Generatorschaltungen von
Fig. 1;
Fig. 2d noch weitergehende Einzelheiten des Übertragungssicherungs-
Addiernetzwerks von Fig. 2c;
Fig. 3 verschiedene Zeitsteuersignale, die von den Taktsteuerschaltungen
nach Fig. 2b erzeugt werden; und
Fig. 4 ein Diagramm zur Erläuterung der Arbeitweise des
Multiplikationswerks.
Die in Fig. 1 dargestellte bevorzugte Ausführungsform des
Hochgeschwindigkeits-Multiplikationswerks eignet sich zur Multiplikation
zweier Binärzahlen. In dem gewählten Beipsiel wird ein
Multiplikand von 36 Bits (der mit Null aufgefüllt sein kann,
um einen 72 Bits umfassenden Multiplikanden zu bilden) mit einem
Multiplikator von 28, 36 oder 64 Bits multipliziert. Bei
einer Gleitkomma-Multiplikation wird ein 72-Bit-Multiplikand
verwendet.
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 Muliplikator
mit Nullen erweitert, und zwar an dem Bitende niedrigster
Wertigkeit, damit die Division glatt ausgeht. Wie noch erläutert
werden wird, werden mit drei Stufen einer Übertrag
sicherungsaddition 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 vorliegen 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 406
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
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 bis 100 Nanonsekunden 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-
Addierabschnitt 200 und einen Volladdierer- und Speicher
abschnitt 250.
Im folgenden wird der Zeitsteuerungs- und Steuerabschnitt 400
näher erläutert. Dieser Abschnitt enthält die Taktsteuerschaltungen
und Betriebsart-Flipflops des Blockes 401, das
Steuerpunktregister 404, die Decodierschaltungen des Blockes
406, einen vierstufigen Binärzähler 408 und Decoderschaltungen
des Blockes 410. Die Schaltungen des Blockes 401,
die in Fig. 2b näher dargetellt 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- Halteregisters RCH (nicht dargestellt), welches über Eingangsleitungen RCH 0-35 mit Eingangspuffergattern 301 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:
000 = NOP
001 = MPF = Bruchmultiplikation, Festkomma
010 = MPY = Ganzzahlige Multiplikation, Festkomma
011 = FMP = einfache Genauigkeit, normalisiert, Gleitkommamultiplikation
100 = UFM = einfache Genauigkeit, nicht normalisiert, Gleitkommamultiplikation
101 = DFMP = doppelte Genauigkeit bzw. Stellenzahl, normalisiert, Gleitkommamultipliktion
110 = DUFM = doppelte Genauigkeit bzw. Stellenzahl, nicht normalisiert, Gleitkommamultiplikation. - (4) Das Bit 94 steuert den Zeitsteuerbetrieb für das Multiplikationssystem, indem es bestimmt, wann die Schaltungen des Blockes 401 die Taktimpulse in Intervallen von 50 bis 100 Nanosekunden abgeben; wenn eine binäre 0 vorliegt, dann sperrt das als SET 50 NS 10 bezeichnete Bit die Schaltungen des Blockes 401 bezüglich der Erzeugung von Taktimpulsen mit einer Taktzeit von 50 Nanosekunden, beginnend mit dem nächsten 100-Nanosekunden-Zyklus; wenn das betreffende Bit eine binäre 1 ist, dann bewirkt das SET 50 NS 10-Signal, daß die Taktschaltungen des Blockes 401 Taktimpulse in einer 50-Nanosekunden-Folge erzeugen, und zwar beginnend mit dem nächsten 100-Nanosekunden-Zyklus;
- (5) das Bit 95 wird dazu benutzt, einen (nicht dargestellten) Ausgabeschalter zu steuern, an den das Addierausgangssignal 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 Code 00 bzw. 01 bestimmt ist.
Im folgenden sei zu nä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 jeder Schaltungen besitzen, die beschrieben
sind in den 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 ebenfals in dem genannten Buch
beschrieben.
Wenn das Signal SET 50 NS 10 eine binäre 1 ist, bewirkt dies
im Betrieb, daß die Betriebs-Flipflops 401-5 und 401-4 in
den Binärzustand 1 umgesetzt werden, wodurch Signale
FF 50 NS-Betriebsart 10 und FF 50 NS-Betriebsart 11 in
Binärsignale 1 überführt werden. Dadurch ist der 50-Nanosekunden-Betrieb
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 umgesetzt ist, ein weiteres
Betriebsart-Flipflop 401-3 in den Binärzustand 1, wodurch
das Signal DL-FF-50 NS-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-3 in dem Binärzustand 0 zurückgesetzt.
Das von der Binärseite 0 des Betriebsart-Flipflops 401-5
abgebene 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-Schalter in
ein 0-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
FF FLOATING 10=1 ist).
Es sei darauf hingewiesen, daß die Ausgangssignale der beiden
Flipflops durch das Verknüpfungsglied 401-28 ordermäßig zu
sammengefaßt sind, dessen Ausgangssignale dann anzeigen, ob
das System im 50- oder 100-Nanosekunden-Betrieb arbeitet. Der
Zustand des 100 NS MODE-10-Signals wird dazu benutzt, die
Operation des Zählers 408 über das Verknüpfungsglied 401-22
und die Abtastung von Signalen zu steuern, die den Verknüpfungsgliedern
304 über das Verknüpfungsglied 401-20
zugeführt werden, wenn eine Freigabe durch das Verknüpfungsglied
401-18 erfolgt ist. Das Verknüpfungsglied 401-24 erzeugt
das Signal SET 50 NS 12 auf das Auftreten der Signale
FF 100 NS MODE 10 und SET 50 NS 10 hin, die den letzten 100-ns-Zyklus
bestimmen, bevor das System in den 50-ns-Betrieb übergeht.
Das Signal SET 50 NS 12 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 MLT 310 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 MLT 310 den Flipflops sowie den
RS- und RC-Registern 250-4 und 250-6 zusätzlich zu den
Multiplikatorauswahlregistern zugeführt. Um jegliche Übertragungs-
Wettlaufbedingungen zu vermeiden, wird das Signal
CLOCK DL-2-10 den Vielfach-Generatorverriegelungschaltungen
zugeführt. Das normale Taktsignal CLOCK 100 NS 120 wird von
der Treiberschaltung 401-12 auf das Eingangssignal CLOCK 10 NS 10
hin abgegeben, welches durch das Verknüpfungsglied
401-16 invertiert wird. Das Signal CLOCK 100 NS 120
wird dem Register 401 zugeführt und bewirkt die Abtastung
des Registers 100-ns-Intervallen, was dem Lesezyklus des
ROM 40 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
406-1 decodiert die Bits 91 bis 93 des in dem Steuerpunktregister
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, etc. 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 406 dazu benutzt werden, die Auswahl des
50-ns-Operationsbetriebs und die Auswahl der Multiplikatorbits
zu steuern. Der Zähler 408 steuert auf das Aufreten
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 SET 50 NS 10 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
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 (ZMR O-6), und im Falle eines
Gleitkommabefehls tritt das Ausgangssignal von der zweiten
Stellung (ZMR 2-8) her auf. Die Auswahl der Schalter- und
Zählerstände ist in der nachstehenden Tabelle
veranschaulicht.
Im folgenden wird der Eingangsabschnitt 300 näher betrachtet.
Dieser Abschnitt enthält Verknüpfungsglieder- bzw. Gatter-
und Registerschaltungen 301, 302, 304 und 306, die Signale
aufnehmen, welche kennzeichnend sind für den Multiplikanden
und den Multiplikator, sowie zwei Register 308, 314, Ver
zögerungsschaltungen 320, und zwar zusätzlich 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 ist ein 9-Bit-Register, welches gelöscht
bzw. auf Null gestellt wird, und zwar 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 SET 50 NS 12 eine binäre 1 ist, wird das Register 308
mit den Bits 0 bis 8 von dem Register RCH her geladen (nicht
dargestellt). Auf diese Weise ist das Leben auf den letzten
vollständigen 100-Nanosekunden-Zyklus begrenzt, bevor das
System beginnt, im 50-ns-Betrieb zu arbeiten. Im Falle von
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 SUPZAQ 10 von dem
Block 401 her unwirksam gemacht. Dies führt dazu, daß Nullen
den Schaltungen des Abnschnitts 100 zugfü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 1-aus-2-Datenauswahlschalter, der eine
Auswahl dahingehend trifft, welche Reihe der Ausgabe-Multi
plikatorbitsignale (ZMR 0-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.
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 des RMR-Register auswählt.
Während des 100-ns-Zyklus steht genügend Zeit zur Verfügung,
um die Multiplikatorbits von 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 RMN 0 ausgewählt. Dieses Bit
wird gewählt mit Rücksicht darauf, daß 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
angelegt, daß die letzte Teilproduktsummation in dem
Übertragsicherungs-Addiernetzwerk 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
Ü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 Anzahl 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 ZIER-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 100
abgegeben. Die Verzögerungsschaltungen können als in herkömmlicher
Weise aufgebaut betrachtet werden. So können die
betreffenden Schaltungen beispielsweise die Form von Daten
auswahlschaltungen 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 DL 210 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 Übergangs-Generatorschaltungen und De
coderschaltungen 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 jeder der Schaltungen 100-2,
100-4 und 100-6 als Dateneingangssignale die Multiplikanden
signale von dem RCA-Register 302 und die ZAQ-Eingangsbussignale
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 Vielfachen
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ß 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 weitergeleitet
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 kommmenden Werte für die Bits
niedrigster Wertigkeit dieser Vielfache bereitgestellt werden.
Aus der Tabelle ergibt sich, daß dann, wenn ein "negatives"
Vielfaches für die Erzeugung bestimmt ist, die Vielfach-
Generatorschaltung des 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 Übertrag
sicherungsnetzwerk des Abschnitts 200 hinzuaddiert wird, wird
auch die Eintragbit zur der Bitposition niedrigster Wertigkeit
des Vielfachen hinzuaddiert. Dadurch ist die Ausführung der
Vielfachbildung (Zweierkomplement) für eine erwünschte Sub
tratkionsoperation 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 Ausrü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 Daten
auswahlschaltungen aufgebaut sein können, verzögert die
Ausführungssignale, die von den Decoderschaltungen erzeugt worden
sind. Die Signale werden danach in taktgesteuerten Flipflops
gspeichert, deren Binsärsignale 1 als Eingangssignale
dem Übertragsicherungsaddiererabschnitt 200 und dem Voll
addiererabschnitt 250 zugeführt werden. Die Ausgangssignale
entsprechen den Signalen DL FF CARRY A 10, FF CARRY B 10 und
FF CARRY C 10. Das decodierte Signal DL FF CARRY A 10, welches
auf die Gruppe von Multiplikatorbits für den A-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 wird.
Der Übertragssicherungsaddiererabschnitt 200 enthält eine
Vielzahl von Übertragssicherungs-Addiererreihennetzwerken
200-2, 200-4 und 200-6, und zwar zuzüglich zu einem Über
tragsregister (RC) 200-10 und einem Summenregister (RS) 200-12.
Die drei mit A, B und C bezeichneten Ebenen der Übertrags
sicherungs-Addiererreihennetzwerke addiert 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. CS A,
CS B und CS C) 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, bestitzt
sie bei der bevorzugten Ausfürhungsform die Form der Übertragssicherungs-
Addiererschaltung, die in der US-Patentanmeldung,
Serial No. 562 316 angegeben worden ist. Die
Signale AC in, BC in und CC in entsprechen den von den Eintrag-
Generatorschaltungen erzeugten Ausgabe-Eintragsignalen. Das
Signal AC in wird anstatt an die Übertragssicherungs-Addierer
netzwerke abzugeben in einem Flipflop (nicht dargestellt) gespeichert
und dann dem Übertragsaddierer des Abschnitts 250
während eines folgenden Operationszyklus zugeführt.
Die RC- und RS-Register 200-10 und 200-12 speichern die
Übertrags- und Summenausgangssignale, die von dem Übertragssicherungs-
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 zeigt 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 n die Eingangssignale
einem Vielfachschaltungsbit n in derselben Ebene entsprechen,
in der die Addiererschaltung liegt, wobei ein Summenbit n-2
und ein Übertragsbit 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 FF CARRY C und FF CARRY B, die von
den Übertragerzeugungs- und Decodierschaltungen des Blockes
100-10 erzeugt werden, werden an den dargestellten Stellen
in die Ebene eingeführt. Das Eintragssignal FF CARRY A 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.
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 Bitpostion 71 wird in einem Flipflop, wie dem
Flipflop 250-8 gemäß Fig. 2c gespeichert, und als Übertrag-
Eingangssignal (das ist das Signal RIPC IN 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-Bitposion 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 Ermittlung und
Korrektur von Überlaufsbedingungen herangezogen werden. Der
in Fig. 2c mit "PROP BIT" bezeichnet Eingang ist so geschaltet,
daß ein binäres "1" Signal die Weiterleitung des Ausgangssignals
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-Addierschaltungen oder anderen zugehörigen
Schaltungen auf.
Aus der vorsehenden Schaltungsbeschreibung wurde ersichtlich,
wie das System Multiplikationsoperationen mit hoher Geschwindigkeit
auszuführen in der Lage ist, indem eine Vielzahl von
Vielfach-Generatorschaltungen in Kombination mit einer entsprechenden
Anzahl von Übertragsicherungs-Addierschaltungen
verwendet wird. In der dargestellten Ausführungsform kommen
bevorzugt Verknüpfungsschaltungen vom Stromsteuerungstyp zur
Anwendung.
Unter der Steuerung von Zeitsteuersignalen werden Gruppen von
Vielfachsignalen parallel erzeugt, während die Übertragsicherungs-
Addiernetzwerke zuvor erzeugte und gespeicherte Vielfachsignale
zu den Übertrags- und Summenkomponenten eines Teilprodukts
summieren. Eine Vielzahl von Vielfach-Generatorschaltungen
erzeugt jeweils gleichzeitig Binärsignale, die ein bestimmtes
Vielfaches eines Multiplikanden kennzeichnen. Zur Zuführung der
Binärsignale ist jeweils eine andere der Multiplikator-Genera
torschaltungen mit einer anderen Addierschaltung der mehrfach
vorhandenen, in Reihe geschalteten Addierschaltungen verbunden.
Jede der Vielfach-Generatorschaltungen enthält Speicherschaltungen,
die so geschaltet sind, daß die 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 Multiplikationzyklen auf einen minimalen
Wert herabgesetzt, d. h., die für die Ausführung eines Multipli
kationsbefehls erforderliche Gesamtzeit wird zu einem Minimum.
Unter Bezugnahme auf Fig. 4 und die nachfolgende Tabelle wird nun
die Arbeitsweise des Multiplikationswerks näher erläutert. 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 zur Erzeugung des Endprodukts
in Beziehung stehen. Es sei jedoch darauf hingewiesen, daß
sämtliche Abschnitte bzw. Bereiche immer aktiv am Geschehen
beteiltigt sind und stets gewisse Operationsschritte ausführen.
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
408 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 von 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 des Multiplikatorbits
auf jede der Generatorschaltungen verteilt, die ihrerseits
das von den Verriegelungsschaltungen zu speichernde
in Frage kommende Vielfache auswählt. 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.
Wie 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 Übertragsicherungs-
Addierernetztwerke 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 Leben 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-
Addierernetztwerke die zuvor in den Verriegelungsschaltungen
gespeicherten Vielfache summieren. Während eines letzten Aus
fü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,
während der der Volladdierer 250-2 den Inhalt der RC- und
RS-Register 200-10 addiert. Außerdem werden
während dieser Zyklen Anzeigen (d. h. Null und Vorzeichen)
überprüft, und 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 100-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:
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 RCH 0-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
Multiplikand = 0,700000000000
Der Inhalt der anderen Register, z. B. RCH, RMN, RCA, RC, RS,
RMR, und der Verriegelungsschaltungen RMG A, RMG B und RMG C,
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
jeder Vielfach-Generatorschaltung Null für sämtliche drei
Ebenen aus, und die Nullen werden in jeder der Verriegelungs
schaltungen RMG A, RMG B und RMG C 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 SET 50 NS 12
hin in das RMN-Register 308 geladen. Durch das Signal SET 50 NS 12
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:
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 Übertragsausgangssignale, die erzeugt
worden sind, Nullen sind. Die in dem RMR-Register 314 gespeicherten
Multiplikatorbits sind Nullen, weshalb die
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 untergebracht.
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:
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:
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 Übertragskomponentensignalen entspricht, die in
den RS- und RC-Registern 200-12 und 200-10 gespeichert sind.
Außerdem werden neue Null-Vielfache durch die Vielfach-Generatorschaltungen
erzeugt, da die in dem RMR-Register 314 gespeicherten
Multiplikatorbits Nullen sind. Die Multiplikatorbits
RCH 12-18 werden ausgewählt und in den RMR-Register 314
gespeichert. Der Voll-Übertragsaddierer 250-2 summiert
die Inhalte der Register RC und RS, was zu einem Null-Austragsignal
für die Produktbits 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". Deshab 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:
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
Schaltungen Signale mit folgenden Werten:
Es sei darauf hingewiesen, daß während dieses Zyklus die Über
tragsicherungs-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 RMG-A-Ver
riegelungsschaltungen Nullen sind, sind die Summen- und Über
tragausgangssignale von dem ACS A-Übertragsicherungs-Addierernetzwerk
Nullen. Das gespeicherte Übertragsausgangssignal
FF CARRY C der Ebene C wird in das Übertragsicherungs-Addierernetzwerk
der Ebene B an der Stelle ACS-B-70 eingefügt. Diese bewirkt seinerseits,
daß das ACS-B-Ü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 RMG C werden zu dem Teilprodukt mittels
des Übertragsicherungs-Addiernetzwerks ACS C summiert, was zu
dem angegebenen Ergebnis führt. Während dieses Zyklus summiert
der Volladdierer 200-2 noch Nullen.
Während dieses Zyklus besitzen die Multiplikatorbits in dem
RMR-Register 314 den Binärwert "0011101". Die Mulitplikatorbitgruppen
für die Ebenen A, B und C sind "101", "111" bzw. "001".
Demgemäß erzeugt die Vielfach-Generatorschaltung 100-2 ein
-1/2-faches 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 RMG A-Verriegelungsschaltungen
gespeichert. Außerdem wird das Übertrag-Ausgangssignal in eine
binäre Eins überführt und gespeichert. Die Mulitplikatorsignale
"111" bewirken, daß die Vielfach-Generatorschaltungen 100-4
ein Null-Vielfaches erzeugt. Demgemäß bewirken die Vielfach-
Generatorschaltungen, daß Nullen in die RMG B-Verriegelungsschaltungen
geladen werden und daß eine Null, das Übertrag-Ausgangssignal,
zu erzeugen und zu speichern ist.
Die "001"-Mulitplikatorsignale bewirken, daß die Vielfach-
Generatorschalung 100-6 ein +1/2-faches des Multiplikanden erzeugt.
Demgemäß verschiebt die Schaltung 100-6 die Eingangs-
Multiplikandensignale um eine Stelle nach rechts und lädt diese
Signale in die RMG C-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 dem RMR-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:
Die in dem RMR-Register 314 gespeicherten Multiplikatorbits
besitzen den Binärwert "0101100". Dies bedeutet, daß die
Multiplikator-Bitgruppen für die Ebene A, B und C gegeben
sind durch "100", "011" bzw. "010". Demgemäß erfordert die
Vielfach-Generatorschaltung 100-2 die Erzeugung des -1-fachen
des Multiplikanden für die Addition zu dem Teilprodukt. Dementsprechend
wird die Schaltung 100-2 so betrieben, daß die
Multiplikand-Eingangssignale invertiert und in den RMG-A-
Verriegelungsschaltungen gespeichert werden. Außerdem wird
das Übertrag-Ausgangssignal für die Ebene A in eine binäre 1
überführt, um die Zweierkomplementaddition zu beenden. Da
die Multiplikatorbits für die Ebene B gegeben sind mit "011",
muß die Vielfach-Generatorschaltung 100-4 das Einfache des
Multiplikanden erzeugen. Demgemäß wird die Schaltung 100-4
derart betrieben, daß die Eingangs-Multiplikandsignale in
den RMG B-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-Generatorschaltung 100-6 das +1/2-fache des Multiplikanden
erzeugt. Demgemäß verschiebt die Schaltung 100-6
die Eingangs-Multiplikandsignale um eine Stelle nach rechts
und lädt die Signale in die RMG C-Verriegelungsschaltungen.
Das Übertrag-Ausgangssignal für die Ebene C ist eine binäre 0.
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
RMG A, RMG B und RMG C gespeicherten Vielfache zu dem Teilprodukt
in der zuvor beschriebenen Weise. Während jedes
Zyklus addiert der Addierer 250-2 den Inhalt 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 RMG A, RMG B und RMG C 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:
Dadurch wird die Reihe der 50-ns-Zyklen beendet, und die
Schaltungen des Blockes 401 versetzen das System und 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 Wert
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 Beipsiel 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.
Claims (7)
1. Hochgeschwindigkeits-Multiplikationswerk für Parallelverarbeitung
in Rechenanlagen unter Verwendung von Vielfachen des Multiplikanden,
zu deren Erzeugung eine Vielzahl von Vielfach-Generatoreinrichtungen
(100-2, 100-4, 100-6) vorgesehen ist,
daß diese Vielfach-Generatoreinrichtungen (100-2,
100-4, 100-6) Signale von verschiedenen Bitgruppen (4-6, 2-4, 0-2)
des Multiplikators und Signale vom Multiplikanden erhalten, und daß
jede von diesen Generatoreinrichtungen Register (RMG A, RMG B,
RMG C) umfaßt, die zur Speicherung von Signalen dienen, die mindestens
ein Vielfaches darstellen, das auf Grund der genannten Signale
von Multiplikator und Multiplikand erzeugt wurde, dadurch gekennzeichnet,
daß eine entsprechende
Anzahl von in Addierwerksstufen 200-6, 200-4, 200-2 hintereinandergeschalteten
Paralleladdierwerken
ohne durchgeschaltete Überträge für die Erzeugung
von Summen- und Übertragssignalen vorgesehen ist, daß jeder dieser
Addierwerkstufen (200-6, 200-4, 200-2) mit einer anderen der genannten
Generatoreinrichungen (100-2, 100-4, 100-6) verbunden ist zum
Zwecke der Summierung der von dort übertragenen Signalen mit Summen-
und Übertragssignalen von der vorausgehenden
Addierwerksstufe, daß die letzte Addierwerksstufe (200-2) ihre Summen-
und Übertragssignale in einem Summenregister (200-12) und in ein
Übertragsregister (200-10) und auf die Summen- bzw. Übertragseingänge
der ersten Addierwerksstufe (200-6) überträgt, daß weiterhin Zeit
steuereinrichtungen (20 und 401) zur Erzeugung von Operationszyklen
festlegenden Taktsignalen vorgesehen sind, wenn die Signalgruppen der
Vielfachen aus den genannten Registern (RMG A, RMG B, RMG C) gleichzeitig
an jede der Addierwerksstufen übertragen werden, wobei die
Generatoreinrichtungen (100-2, 100-4, 100-6) derart gesteuert sind, daß im Zeittakt eine
überlappende Arbeitsabfolge herbeigeführt ist zwischen der Erzeugung
der Signalgruppen der Vielfachen und der Erzeugung der Teilproduktsignale,
bei denen die vorausgehenden Vielfachen aufsummiert werden.
2. Hochgeschwindigkeits-Multiplikationswerk nach Anspruch 1,
dadurch gekennzeichnet, daß der Multiplikator in mindestens
zwei Bereiche einer Anzahl von Bits und jeder Multiplikator-Bitbereich
wiederum in mehrere Gruppen einer Anzahl von Bits unterteilt
sind, wobei die Bitbereiche und die Bitgruppen an benachbarten
Stellen überlappen, daß ein Bitbereichsregister (314) vorgesehen ist,
in dem die einzelnen Bits eines Bitbereichs durch binäre Signale gespeichert
sind, daß die Bitbereiche sequentiell und die Bitgruppen
parallel verarbeitet werden, daß den Vielfach-Generatoreinrichtungen
(100-2, 100-4, 100-6) die Bitgruppensignale in den einzelnen
Stufen parallel zugeführt werden, wobei die zugeführten Bitgruppen
jeweils demselben Bitbereich angehören, und daß während des Opera
tionsablaufs die Signale jedes Multiplikator-Bitbereichs den Vielfach-
Generatoreinrichtungen (100-2, 100-4, 100-6) in einem Taktzyklus zugeführt werden
zur Erzeugung einer Anzahl von Vielfachen des Multiplikanden für
diesen Multiplikator-Bitbereich zur Speicherung in den genannten
Registern (RMG A, RMG B, RMG C) bei gleichzeitiger Addition des
vorhandenen Inhalts dieser Register zu den genannten Summen- und
Übertragssignalen in den einzelnen Addierwerkstufen (200-6, 200-4,
200-2), wobei die zuletzt genannten Signale der Registerinhalte dem
vorausgehenden Multiplikator-Bitbereich zugehören.
3. Hochgeschwindigkeits-Multiplikationswerk nach Anspruch 1,
dadurch gekennzeichnet, daß die Zeitsteuereinrichtungen
(20, 401) im Operationsablauf für folgende Steuerungsfunktionen
ausgebildet sind:
- (a) Gleichzeitige Erzeugung von Signalen, welche Vielfache des Multiplikanden darstellen unter dem Einfluß von ersten Bitgruppen von Multiplikatorsignalen;
- (b) Abspeicherung dieser Signale von Multiplikanden-Vielfachen in den genannten Registern (RMG A, RMG B, RMG C);
- (c) Übertragung von selektiv ermittelten Vielfachen aus den genannten Registern in die genannten Addierwerksstufen (200-6, 200-4, 200-2);
- (d) Erneute gleichzeitige Erzeugung von Signalen, welche Vielfache des Multiplikanden darstellen unter dem Einfluß von zweiten Bitgruppen von Multiplikatorsignalen;
wobei die Funktion (a) sich innerhalb eines ersten Operationszyklus
und die Funktionen (b), (c) und (d) innerhalb eines nächsten
Operationszyklus dergestalt ablaufen, daß eine überlappende
Arbeitsweise zwischen der Erzeugung der Vielfachen des Multiplikanden
und dem Aufsummieren von Multiplikanden-Vielfachen in den
Addierwerksstufen und damit einer Minimisierung der für die
Durchführung der Multiplikation erforderlichen Zykluszeiten erfolgt.
4. Hochgeschwindigkeits-Multipliaktionswerk nach Anspruch 1,
dadurch gekennzeichnet, daß mit der letzten Addierwerksstufe (200-2)
ein Summen- und ein Übertragsregister
(200-12 bzw. 200-10) der ersten Addierwerksstufe (200-6) derart verbunden
sind, daß eine Summierung der Übertrags- und
Summensignale mit den durch eine nächste Gruppe von Multiplikatorsignalen
ausgewählten Vielfachsignalen erfolgt.
5. Hochgeschwindigkeits-Multiplikationswerk nach Anspruch 4,
dadurch gekennzeichnet, daß mit den Summen- und Übertragsregistern
(200-12 bzw. 200-10) ein Addierer (250) verbunden ist, der die
während aufeinanderfolgender Zyklen gespeicherten Summen-
und Übertragssignale zur Bildung eines Endproduktes
summiert.
6. Hochgeschwindigkeits-Multiplikationswerk nach Anspruch 1,
dadurch gekennzeichnet, daß jede Vielfach-Generatoreinrichtung
(100) einen Decorder umfaßt, der eine entsprechende
Gruppe von Multiplikatorsignalen aufzunehmen gestattet, daß
ferner eine Anzahl von auswählbaren Gatterschaltungen vorgesehen
ist, die unterschiedliche Vielfache erzeugen, wobei
jede Gatterschaltung Multiplikandensignale aufnimmt
und mit dem Decoder derart verbunden ist, daß eine Auswahl
der Vielfachen in Übereinstimmung mit der Gruppe der
Multplikatorsignale erfolgt, daß ferner eine Vielzahl von
Verriegelungsschaltungen vorgesehen ist, die operativ mit
jeder Gatterschaltung derart verbunden sind, daß für ein
ausgewähltes Vielfaches charakteristische Signale abgespeichert
werden, daß diese Verriegelungsschaltungen mit
der Zeitsteuereinrichtung (400) verbunden sind und daß
die Verriegelungsschaltungen der jeweilgen Vielfach-
Generatoreinrichtung (100) durch die Taktsignale in
einen solchen Zustand überführbar sind, daß die durch ausgewählte
Gatterschaltungen erzeugten Vielfache abgespeichert
werden.
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 DE2658248A1 (de) | 1977-07-14 |
DE2658248C2 true 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 |
Family Cites Families (8)
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 |
US3497685A (en) * | 1965-11-03 | 1970-02-24 | Ibm | Fault location system |
US3691359A (en) * | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
US3685994A (en) * | 1971-05-05 | 1972-08-22 | Rca Corp | Photographic method for printing a screen structure for a cathode-ray tube |
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 DE DE19762658248 patent/DE2658248A1/de active Granted
- 1976-12-22 BE BE173536A patent/BE849736A/xx not_active IP Right Cessation
- 1976-12-22 GB GB53478/76A patent/GB1570791A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
FR2336734A1 (fr) | 1977-07-22 |
US4041292A (en) | 1977-08-09 |
GB1570791A (en) | 1980-07-09 |
FR2336734B1 (de) | 1983-03-18 |
CA1080850A (en) | 1980-07-01 |
DE2658248A1 (de) | 1977-07-14 |
JPS5279741A (en) | 1977-07-05 |
JPS592054B2 (ja) | 1984-01-17 |
BE849736A (fr) | 1977-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2658248C2 (de) | ||
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE1549476B2 (de) | Anordnung zur ausfuehrung von divisionen | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE2814078A1 (de) | Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags | |
DE2421130A1 (de) | Operandenvergleicher | |
DE1549508C3 (de) | Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit | |
DE2221693B2 (de) | Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen | |
DE3447634C2 (de) | ||
DE2826773A1 (de) | Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern | |
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE60316342T2 (de) | Multiplizierer mit nachschlagetabellen | |
DE3422287C2 (de) | ||
DE1449564C3 (de) | Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden | |
DE1184122B (de) | Addiervorrichtung | |
EP0256455B1 (de) | Verfahren zur schnellen Division langer Operanden in Datenverarbeitungsanlagen und Schaltungsanordnung zur Durchführung des Verfahrens | |
DE19635113A1 (de) | Multiplizierer | |
EP0424410B1 (de) | Multiplizierer | |
DE1103646B (de) | Inkrement-Rechenmaschine | |
DE2902488C2 (de) | ||
DE10206830B4 (de) | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden | |
DE19635111A1 (de) | Multiplizierer | |
DE19910620C2 (de) | Vorrichtung zur Durchführung von Rechenvorgängen |
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 |