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
Application number
DE2658248A
Other languages
English (en)
Other versions
DE2658248A1 (de
Inventor
Jerry L. Phoenix Ariz. Us Kindell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Bull Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honeywell Bull Inc filed Critical Honeywell Bull Inc
Publication of DE2658248A1 publication Critical patent/DE2658248A1/de
Application granted granted Critical
Publication of DE2658248C2 publication Critical patent/DE2658248C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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
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.
DE19762658248 1975-12-22 1976-12-22 Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation Granted DE2658248A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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