DE2658248A1 - Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation - Google Patents

Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation

Info

Publication number
DE2658248A1
DE2658248A1 DE19762658248 DE2658248A DE2658248A1 DE 2658248 A1 DE2658248 A1 DE 2658248A1 DE 19762658248 DE19762658248 DE 19762658248 DE 2658248 A DE2658248 A DE 2658248A DE 2658248 A1 DE2658248 A1 DE 2658248A1
Authority
DE
Germany
Prior art keywords
signals
circuits
carry
multiplier
multiplicand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19762658248
Other languages
English (en)
Other versions
DE2658248C2 (de
Inventor
Jerry L 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 Information Systems Italia SpA
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 Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

Dipl.-lng. Heinz Bardehie ο c c: ο ο / ο
Pater.tfär-Λ-Ηι ί. D 0 0 L M- O
München 22,':.. .:, CT.;!. 29 25 5 J
Postanschrift Müncr.::; ?S, Postfach 4 · /f3 .
München, den ^1 ^ez· '976
Mein Zeichen: P 2442
Anmelder: Honeywell Information Systems Inc.
200 Smith Street
Waltham, Mass. 02154
V. St. A.
Mit hoher Geschwindigkeit arbeitendes Multiplikationssystem sowie Verfahren zur Durchführung einer Multiplikationsoperation
Die Erfindung bezieht sich auf ein Multiplikationssystem und eine Multiplikationsanordnung und insbesondere auf ein System zur Multiplikation von Zahlen in Binärform.
Es ist generell bekannt, Multiplikationsoperationen dadurch auszuführen, daß die. erwünschten Vielfachen eines Multiplikanden während einer Multiplikationsoperation erzeugt werden, und zwar im Gegensatz zur Vorspeicherung der Vielfachen. Ein Beispiel für diese besondere Art von Anordnung ist in der US-PS 3 730 425 angegeben. Diese bekannte Anordnung arbeitet in der Weise, daß der Multiplikator mit zwei multipliziert wird (d.h., daß der Multiplikator um ein Bit nach links verschoben wird), bevor mit der Multiplikationsoperation begonnen wird. Während der anschließend erfolgenden Multiplikationsoperation wählen die in der Multiplikationsanordnung
709828/0631
enthaltenen Schaltungen einen der in einer Anzahl vorgesehenen Multiplikationsfaktoren in Übereinstimmung mit zwei Bits der Multiplikatorbits aus. Obwohl die betreffende bekannte Anordnung die Anzahl der Zyklen halbiert, die normalerweise für eine Multiplikationsoperation erforderlich sind, ist dennoch die für die Ausführung einer Multiplikationsoperation aufzuwendende Zeit beträchtlich lang, und zwar insbesondere in dem Fall, daß die Anordnung in einem System zu verwenden ist, in welchem mit hoher Geschwindigkeit arbeitende Schaltungen verwendet sind, wie Stromsteuerungs-Verknüpfungsschaltungen. Wie überdies in der genannten US-Patentschrift erläutert, ist zwar bereits vorgeschlagen worden, die Geschwindigkeit der Multiplikation dadurch zu steigern, daß die Multiplikatorbits paarweise überprüft werden und daß unterschiedliche Vielfache zu einer Anzahl von in Reihe geschalteten Addierern hinzuaddiert werden. Ein Beispiel für diese Art von Multiplikation ist beschrieben in dem Buch "The Logic of Computer Arithmetic1*, von Ivan Flores, Prentice-Hall, Inc., Copyright 1963.
Bei anderen Arten von Multiplikationsanordnungen sind vorgespeicherte Vielfache verwendet worden, die vor der Multiplikationsoperation erzeugt worden sind. Die Vielfache werden dabei in Übereinstimmung mit den Werten der Multiplikatorziffern ausgewählt. Ein Beispiel für diese Art von Vorrichtung ist in der US-PS 3 641 331 angegeben. Obwohl bei der in dieser Patentschrift angegebenen Anordnung die Anzahl der Vielfachen herabgesetzt ist, die zu speichern erforderlich ist, und obwohl dabei die Zeitspanne vermindert ist, die zur Erzeugung sämtlicher übriger Vielfache erforderlich ist, ist dennoch eine erhebliche Zeit erforderlich, um die Vielfache vor der Multiplikationsoperation zu erzeugen und zu speichern.
709828/0631
Der Erfindung liegt demgemäß die Aufgabe zugrunde, ein verbessertes Multiplikationssystem und ein verbessertes Multiplikationsverfahren anzugeben. Darüber hinaus soll durch die vorliegende Erfindung eine Anordnung zur binären Multiplikation geschaffen werden, durch die die Anzahl der Zyklen minimiert werden soll, die zur Ausführung von Multiplikationsoperationen auf Multiplikationsbefehle hin auszuführen erforderlich ist. Überdies soll die neu zu schaffende, mit hoher Geschwindigkeit arbeitende Multiplikationsanordnung geeignet sein für einen Betrieb in Verbindung mit integrierten Schaltungen, die mit hoher Geschwindigkeit arbeiten. Schließlich soll die neu zu schaffende Multiplikationsanordnung mit Hilfe von mit hoher Geschwindigkeit arbeitenden integrierten Schaltungen, wie Stromsteuerungs-Verknüpfungsschaltungen, ausführbar sein.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die im Patentanspruch 1 angegebene Erfindung.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist eine Vielzahl von Vielfach-Generatorschaltungen vorgesehen, deren jede derart betrieben ist, daß sie Binärsignale entsprechend Null, +1/2 und + 1 Vielfaches des Multiplikanden erzeugt. Eine andere Generatorschaltungen der Vielfach-Generatorschaltungen stellt eine Verbindung zu jeweils einer anderen Addiererschaltung von in einer Vielzahl vorgesehenen, in Reihe geschalteten Addiererschaltungen her. Die Vielfach-Generatorschaltungen enthalten Verriegelungsspeicherschaltungen, welche die Form der Schaltungen besitzen, wie sie an anderer Stelle näher beschrieben sind.
Bei der bevorzugten Ausführungsform sind drei Addiererschaltungen bzw. Addierer vorgesehen, deren jeder so geschaltet ist, daß er die Vielfachsignale von einer entsprechenden
709828/0631
Generatorschaltung von drei Vielfach-Generatorschaltungen her aufnimmt. Eine gemeinsame Zeitsteuerquelle bzw. Taktquelle enthält Schaltungen zur Erzeugung von Zeitsteuersignalen bzw. Taktsignalen, die den Verriegelungsschaltungen zugeführt werden, welche in jeder Vielfach-Generatorschaltung enthalten sind. Die Verriegelungsschaltungen speichern derartige Vielfachsignale solange, bis die Zeitsteuerquelle ihren Ersatz durch das Vielfache freigibt, welches während eines vorhergehenden Operationszyklus erzeugt worden ist. Auf diese Weise ermöglicht die Anordnung gemäß der Erfindung eine Überlappung von zur Erzeugung von Vielfachen führenden Operationen und die Ausführung eines Parallelbetriebs in Verbindung mit der Erzeugung von Teilprodukten durch die Addiererschaltungen. Auf diese Weise wird die Anzahl der Zyklen auf ein Minimum herabgesetzt, die normalerweise erforderlich sind, um eine Multiplikationsoperation auszuführen.
Die Addiererschaltungen der bevorzugten Ausführungsformen besitzen die Form von Schaltungen, wie sie an anderer Stelle näher beschrieben sind (siehe US-Patentanmeldungen, Serial-No. 562 327 und 562 316). Die Addiererschaltungen sind zusammen mit den Vielfach-Generatorschaltungen aus Stromsteuerungs-Verknüpfungsschaltungen aufgebaut. Die Organisation der Multiplikationsanordnung gemäß der vorliegenden Erfindung ermöglicht die Verwendung von derartigen, mit hoher Geschwindigkeit arbeitenden Schaltungen und setzt die Gesamtkomplexheit einer derartigen Anordnung herab. Durch die Verwendung einer Anzahl von entsprechenden Schaltungen ist die Anordnung gemäß der vorliegenden Erfindung außerdem ohne weiteres durch Großintegrationsschaltungen und durch einen mittlerern Integrationsgrad aufweisende integrierte Schaltungen ausführbar.
709828/0631
-sr-
An Hand von Zeichnungen wird die Erfindung mit den ihr anhaftenden Eigenschaften und Vorteilen nachstehend beispielsweise näher erläutert.
Fig. 1 zeigt in einem Blockdiagramm eine Multiplikationsanordnung gemäß der vorliegenden Erfindung. Fig. 2a zeigt im größeren Detail Decoderschaltungen der in Fig. 1 gezeigten Anordnung.
Fig. 2b zeigt im größeren Detail Taktsteuerschaltungen der in Fig. 1 gezeigten Anordnung.
Fig. 2c zeigt im größeren Detail eine vereinfachte Version eines Übertragsicherungs-Addierernetzwerks und von binären Vielfach'-Generatorschaltungen der Anordnung gemäß Fig. Fig. 2d zeigt eine Ausführungsform des Übertragsicherungs-Addierernetzwerks der Anordnung gemäß Fig. 1. Fig. 3 zeigt verschiedene Zeitsteuersignale, die von den Taktsteuerschaltungen der Anordnung gemäß Fig. 1 erzeugt werden.
Fig. 4 zeigt ein Diagramm, welches zur Erläuterung der Arbeitsweise der vorliegenden Erfindung benutzt wird.
Im folgenden wird eine bevorzugte Ausführungsform der Erfindung näher beschrieben. Bezugnehmend auf Fig. 1 sei bemerkt, daß in dieser Figur eine bevorzugte Ausführungsform der vorliegenden Erfindung gezeigt ist, bei der es sich um ein System zur Multiplikation zweier Binärzahlen handelt. Bei dem zur Darstellung gewählten Beispiel der Erfindung wird ein 36 Bit umfassender Multiplikand, der mit Nullen aufgefüllt sein kann, um einen 72 Bit umfassenden Multiplikanden zu bilden, mit einem 28, 36 oder 64 Bit umfassenden Multiplikator multipliziert, und zwar in Abhängigkeit von dem bestimmten Befehl, der ausgeführt wird, wie dies noch erläutert werden wird. Dabei wird ein 72-Bit-Multiplikand im Falle eines Gleitkomma-Multiplikationsbefehls verwendet.
709828/0631
Im Falle eines 28-Bit-Multiplikators wird dann, wenn die Bits nicht gleichmäßig durch die Anzahl der Bits teilbar sind, die pro Zyklus überprüft werden, der Multiplikator mit Nullen erweitert, und zwar an dem Bitende niedrigster Wertigkeit, damit die Division glatt aufgeht. Wie noch erläutert werden wird, werden mit drei Stufen einer Übertragsicherungsaddition sieben Bits des Multiplikators zu einem Zeitpunkt überprüft, wobei drei überlappte Gruppen von Multiplikatorbits vorhanden sind. (z.B. bei den Bits 0 bis 6 höchster Wertigkeit die verschiedenen Gruppen entsprechend den Bits 0-2, 2-4 und 4-6). Die Gruppen wählen die in Frage kommenden Vielfache für die Multiplikatorziffern mit den Istwerten 0-7 aus.
Die Multiplikation der beiden Binärwörter wird durch die verschiedenen Steuersignalpegel gesteuert, die von einem mikroprogrammierten Steuerspeicher 40 geliefert werden, der bei der bevorzugten Ausführungsform Teil des Steuerteiles eines Rechnersystems darstellt, welches das Multiplikationssystem der vorliegenden Erfindung benutzt. Aus Fig. 1 geht hervor, daß während eines Operationszyklus der Mikrobefehlsinhalt eines adressierten Speicherplatzes des Speichers 40 ausgelesen und in einem Steuerpunktregister 404 abgespeichert werden kann, um durch Decoderschaltungen gemäß dem Block 4o6 decodiert zu werden.
Die Zeitsteuersignale für das System gemäß Fig. 1 werden von externen Taktschaltungen entsprechend dem Block 20 bereitgestellt. Für Zwecke der vorliegenden Erfindung können diese Schaltungen als in herkömmlicher Weise aufgebaut betrachtet werden. Die Schaltungen des Blockes 20 liefern Taktimpulse in Intervallen von 100 NanoSekunden auf zwei Reihen von Leitungen. Die Taktimpulse auf den betreffenden Leitungen sind dabei um 180 gegeneinander verschoben. Die Taktimpulse werden den Taktsteuerschaltungen des Blockes 401 eines Zeit-
709828/0631
steuerungs- und Steuerabschnitts 400 zugeführt, der die Verteilung der Taktimpulse an das System gemäß Fig. 1 steuert, und zwar zusätzlich zu der Ausführung eines Steuervorgangs, durch den festgelegt wird, ob die Impulse in Intervallen von 50 oder 100 Nanosekunden verteilt werden, wie dies weiter unten noch erläutert wird.
Aus Fig. 1 ist ersichtlich, daß das System 10 der vorliegenden Erfindung folgende Abschnitte bzw. Bereiche umfaßt: den Zeitsteuerungs- und Steuerabschnitt 400, der oben bereits erwähnt worden ist, einen Eingangsabschnitt 300, einen Vielfach-Generatorabschnitt 100, einen Übertragsicherungs-Addiererabschnitt 200 und einen Volladdierer- und Speicherabschnitt 250.
Im folgenden wird der Zeitsteuerungs- und Steuerabschnitt näher erläutert. Dieser Abschnitt enthält die Taktsteuerschaltungen und Betriebsart-Flipflops des Blockes 401, das Steuerpunktregister 404, die Decoderschaltungen des Blokkes 4o6, einen vierstufigen Binärzähler 408 und Decoderschaltungen des Blockes 410. Die Schaltungen des Blockes 401, die in Fig. 2b näher dargestellt sind, verteilen unter einer Mikroprogrammsteuerung die Taktimpulse entweder in Intervallen von 100 Nanosekunden oder 50 Nanosekunden. Das Multiplikatorsystem wird dabei insbesondere durch die Bits 88 bis 97 eines Mikrobefehlswortes gesteuert, von welchem ein Teil in das Steuerpunktregister 404 zu Beginn des jeweiligen Operationszyklus geladen wird. Die Mikrobefehlswortbits sind dabei wie folgt codiert:
(1) Die Bits 88 bis 89 sind Typenbits, welche die auszuführende Operation oder Funktion angeben, wobei der Code 01 die Multiplikationsfunktion angibt;
(2) das Bit 90 steuert die Abtastung eines Multiplikator-
709828/0631
Halteregisters RCH (nicht dargestellt), welches über Eingangsleitungen RCHO-35 mit Eingangspuffergattern verbunden ist; der Zustand dieses Bits ist in dem Steuerpunktregister 404 nicht enthalten, sondern vielmehr wird der betreffende Bit-Zustand in einem weiteren Steuerpunktregister (nicht dargestellt) gespeichert; wenn das Bit 90 eine Null ist, wird kein Abtastimpuls erzeugt, und wenn das Bit 90 eine binäre 1 ist, wird ein Abtastimpuls dem RCH-Register zugeführt;
(3) die Bits 91 bis 93 geben den Typ der Multiplikationsoperation an; sie werden dazu benutzt, den Zähler 408 zu laden, der die Operation eines ZMR-Schalters 310 des Abschnitts 300 steuert. Diese Bits sind wie folgt codiert:
NOP
= Bruchmultiplikation, Festkomma = Ganzzahlige Multiplikation, Festkomma = einfache Genauigkeit, normalisiert, Gleitkommamultiplikation
100 = UFM = einfache Genauigkeit, nicht normalisiert,
Gleitkommamultiplikation
101 = DFMP = doppelte Genauigkeit bzw. Stellenzahl,
normalisiert, Gleitkommamultiplikation 110 = DUFM = doppelte Genauigkeit bzw. Stellenzahl,
nicht normalisiert, Gleitkommamultiplikation.
(4) Das Bit 94 steuert den Zeitsteuerbetrieb für das Multiplikatorsystem, indem es bestimmt, wann die Schaltungen des Blockes 401 die Taktimpulse in Intervallen von 50 und 100 Nanosekunden abgeben; wenn eine binäre 0 vorliegt, dann sperrt das als SET50NS10 bezeichnete Bit die Schaltungen des Blockes 401 bezüglich der Erzeugung von Taktimpulsen mit einer Taktzeit von 50 Nanosekunden,
709828/0631
000 = NOP
001 = MPF
010 = MPY
011 = FMP
beginnend mit dem nächsten 100-Nanosekunden-Zyklus; wenn das betreffende Bit eine binäre 1 ist, dann bewirkt das SETSONSIO-Signal, daß die Taktschaltungen des Blockes 401 Taktimpulse in einer 50-Nanosekunden-Folge erzeugen, und zwar beginnend mit dem nächsten 1OO-Nanosekunden-Zyklusj
(5) das Bit 95 wird dazu benutzt, einen (nicht dargestellten) Ausgabeschalter zu steuern, an den das Addiererausgangssignal abgegeben wird;
(6) die Bits 96-97 steuern die Abtastung eines in dem Datenausgabeweg (nicht dargestellt) enthaltenen Registers und eines Eingabe-RCA-Registers 302 des Abschnitts 300, wie dies durch die Codes 00 bzw. 01 bestimmt ist.
Im folgenden sei zunächst auf Fig. 2b Bezug genommen, aus der ersichtlich ist, daß der Block 401 eine Anzahl von UND-/NAND-Gliedern 401-6, 401-14 bis 401-32, eine Vielzahl von Flipflops 401-3 bis 401-5, zwei Treiberschaltungen bzw. Steuerschaltungen 401-8 und 401-12 sowie zwei Verzögerungsschaltungen 401-2 und 401-10 enthält. Alle diese Schaltungen können als in herkömmlicher Weise aufgebaut betrachtet werden; sie können die Form jener Schaltungen besitzen, die beschrieben sind in dem Buch "The Integrated Circuits Catalog", Texas Instruments, Inc., 1972. Die Verzögerungsschaltungen sind unter Verwendung von Multiplexer- oder Datenauswahlschaltungen aufgebaut, um genaue Verzögerungen zu erzielen. Schaltungen dieser Art sind ebenfalls in dem genannnten Buch beschrieben.
Wenn das Signal SET50NS10 eine binäre 1 ist, bewirkt dies im Betrieb, daß die Betriebs-Flipflops 401-5 und 401-4 in den Binärzustand 1 umgeschaltet werden, wodurch Signale FF50NS-Betriebsart 10 und FF50NS-Betriebsart 11 in Binärsignale 1 überführt werden. Dadurch ist der 50-Nanosekunden-
709828/0631
Betrieb festgelegt, bei dem Taktimpulse in Intervallen von 50 Nanosekunden abgegeben werden. Solange das Taktbit 94 eine binäre 1 ist, verbleibt das System im 50-Nanosekunden-Betrieb.
Das Betriebsart-Flipflop 401-4 überführt in dem Fall, daß es in den Binärzustand 1 umgeschaltet ist, ein weiteres Betriebsart-Flipflop 401-5 in den Binärzustand 1, wodurch das Signal DL-FF-50NS-Betriebsart 00 in ein Binärsignal 0 überführt wird. Dieses Flipflop hält das Multiplikationssystem im 50-Nanosekunden-Betrieb während des letzten 100-NanoSekunden-Zyklus vor der Abschaltung des 50-Nanosekunden-Betriebs fest. Am Ende des 100-NanoSekunden-Intervalls wird das Flipflop 401-5 in den Binärzustand 0 zurückgesetzt.
Das von der Binärseite 0 des Betriebsart-Flipflops 401-5 abgegebene Ausgangssignal wird zwei Verknüpfungsgliedern 401-30 und 401-32 zugeführt, die die Operation eines Multiplikator-Auswahlschalters 316 (ZIER) steuern. Das Verknüpfungsglied 401-30 überführt das Ausgangssignal des ZIER-Schalters in ein O-Signal in dem 100-Nanosekunden-Zyklus, bevor in den 50-Nanosekunden-Betrieb übergegangen wird, und zwar im Fall von Gleitkommabefehlen (was bedeutet, daß das Signal FFFL0ATING10 =1 ist).
liis sei darauf hingewiesen, daß die Ausgangssignale der beiden Flipflops durch das Verknüpfungsglied 401-28 odermäßig zusammengefaßt sind, dessen Ausgangssignale dann anzeigen, ob das System/50- oder 100-Nanosekunden-Betrieb arbeitet. Der Zustand des 100NSM0DE-10-Signals wird dazu benutzt, die Operation des Zählers 408 über das Verkruüpfungsglied 401-22 und die Abtastung von Signalen zu steuern, die den Verknüpfungsgliedern 304 über das Verknüpfungsglied 401-20
709828/0631
zugeführt werden, wenn eine Freigabe durch das Verknüpfungsglied 401-18 erfolgt ist. Das Verknüpfungsglied 401-24 erzeugt das Signal SET50NS12 auf das Auftreten der Signale FF100NSM0DE10 und SET50NS10 hin, die den letzten 100-ns-Zyklus ■bestimmen, bevor das System in den 50-ns-Betrieb übergeht. Das Signal SET50NS12 steuert das Laden des RMN-Registers 308.
Das Verknüpfungsglied 401-6 gibt dann, wenn es durch das Betriebsart-Flipflop 401-5 freigegeben worden ist, die Reihe von Taktimpulsen an die Treiberschaltung 401-8 ab. Die Treiberschaltung 401-8 erhält außerdem die zweite Reihe von impulsen von dem Verknüpfungsglied 401-14 her. Die den beiden Eingängen zugeführten Impulse werden durch die Treiberschaltung 401-8 odermäßig verknüpft, um das Taktsignal CLOCK MLT310 zu erzeugen. Dieses Signal wird durch die Auswahlschaltung 401-10 verzögert, um ein verzögertes Taktsignal CLOCK DL-2-10 zu erzeugen. Wie aus Fig. 1 ersichtlich ist, wird das Signal CLOCK MLT310 den Flipflops sowie den RS- und RC-Registem 250-4 und 250-6 zusätzlich zu den MuItiplikatorauswahlregistern zugeführt. Um jegliche Übertragungs-Wettlaufbedingungen zu vermeiden, wird das Signal CLOCK DL-2-10 den Veilfach-Generatorverriegelungschaltungen zugeführt. Das normale Taktsignal CLOCK 100 NS120 wird von der Treiberschaltung 401-12 auf das Eingangssignal CLOCK 100 NS10 hin abgegeben, welches durch das Verknüpfungsglied 401-16 invertiert wird. Das Signal CLOCK 100 NS120 wird dem Register 401 zugeführt und bewirkt die Abtastung des Registers in 100-ns-Intervallen, was dem Lesezyklus des R0M40 entspricht.· Die verschiedenen Taktsignale, die oben erläutert worden sind, sind in Fig. 3 veranschaulicht.
In Fig. 2a sind im einzelnen die Decoder- und Codiererschaltungen des Blockes 406 gezeigt. Die Oktal-Decoderschaltung 4o6-1 decodiert die Bits 91 bis 93 des in dem Steuerpunkt-
709828/0631
register 404 gespeicherten Mikrobefehlswortes und erzeugt Signale, welche den Typ des Multiplikationsbefehls angeben. Aus den durch die Schaltung 406-1 erzeugten GleitkommaSignalen codiert die Schaltung 406-3 diese Signale, um ferner den Typ der Gleitkommaoperation zu bestimmen, wie eine normalisierte Operation, eine nicht normalisierte Operation, ect.. Für die Zwecke der vorliegenden Erfindung können die Decoder- und Codiererschaltungen als in herkömmlicher Weise aufgebaut betrachtet werden. Sie können z.B. die Form von Schaltungen besitzen, die in dem oben erwähnten Buch der Firma Texas Instruments, Inc., angegeben sind.
Wie oben erwähnt, ist darauf hinzuweisen, daß die Signale von dem Block 4o6 dazu benutzt werden, die Auswahl des 50-ns-Operationsbetriebs un..d die Auswahl der Multiplikatorbits zu steuern. Der Zähler 408 steuert auf das Auftreten der Signale von dem Block 406 her die Auswahl der Multiplikatorbits über den ZMR-Schalter 310 des Eingangsabschnitts 300. Der Zähler 408 wird zunächst mit einer Anfangszählerstellung geladen, und zwar als Funktion der Bits 91 bis 93, und außerdem wird der Inhalt des Zählers während jedes Zyklus um 1 vermindert, wenn das System im 50-ns-Betrieb arbeitet (oder wenn das Signal SET50NS10 eine binäre 1 ist).
Wie hier erläutert wird, werden zunächst die drei Bits höchster Wertigkeit des Zählers in den Binärzustand 1 gesetzt, und das Bit, niedrigster Wertigkeit wird in den Binärzustand 1 gesetzt, und zwar für Gleitkommabefehle, und in den Binärzustand 0 für andere Befehle. Das Laden des Zählers 408 erfolgt während des Zyklus, während dessen das RCA-Register 302 mit dem Multiplikand geladen wird. Die Ausgangssignale des Zählers 408 werden durch die Schaltungen 410 decodiert, und die erzielten Ergebnisse werden dazu benutzt, eine der acht Stellungen des Schalters 310
709828/0631
auszuwählen. Der Schalter 310 speist den Schalter 312. Die grundsätzliche Steuerung hängt davon ab, ob das System einen Gleitkommabefehl ausführt. In dem Fall, daß kein Gleitkommabefehl vorliegt, entspricht das Ausgangssignal des Schalters 312 der ersten Stellung (ZMRO-6), und im Falle eines Gleitkommabefehls tritt das Ausgangssignal von der zweiten Stellung (ZMR2-8) her auf. Die Auswahl der Schalter- und Zählerzustände ist in der nachstehenden Tabelle veranschaulicht.
709828/0631
Multipli
kator bits
■%<.. * RCH3O-35, RMNO;
RMN+-RCH0-8;
RMRi- RCH24-30
+RMR; +•RMR; RMR +RCH26-32 * Schall 2658248
te r-Steuer
zustand
ZZMR ZIER
*
B3AhI 30-35,X Multiplikatorbit-Auswahl
maßnahmen
+ RMRi +RMR; +RMR; RMR *RCH20-26 Zähler-
zustand
ZMR
*
O 1
PIPF 24-30 ZIER + RMRj ♦RMR; ■+RMR; RMR -»-RCH14-20 1110 6 O O
MPY 18-24 ZIER + RMR] t-RMR; «••RMR; RMR-*-RCH8-i4 1101 5 O O
12-18 ZIER ♦ RMR; -RMR -+RMR; 1100 4 O O
6-12 ZIER ♦ RMR' Abschalten
gäbe; RMN -*
+RMR; von ZIER-Frei-
•RCHO-8;
1011 3 O O
0-6 ZIER ; RMR -HRCH18-24 ZIER +RMR; RMR +RCH26-32 1010 2 O O
XXXXXXX ZIER ; RMR -RCH12-18 ZIER •«•RMR; RMR «+RCH20-26 1001 1 1 *
FMP 32-35,XXX ; RMR -RCH6-12 ZIER +RMR; RMR +RCH14-20 1111 7 1 O
UFM 26-32 ; RMR +RMNO-6 ZIER +RMR; RIiR -+RCH8-14 1110 6 1 O
20-26 ZIER --RMR RMR +RMN2-8 1101 5 1 O
14-20 Abschalten von ZIER-Frei-
gabe; RMN*- RCHO-8;
RMR + RCH32-35, 000
ZIER RMNO-2 1100 4 1 O
8-14 ZIER ZIER RMR + RCH26-32 1011 3 1 O
XXXXXXX ZIER ZIER RMR *-RCH20-26 1010 2 1 -
DFMP 68-71,2XX ZIER ZIER RMR <*-RCHi4-20 1111 7 1 O
DUFM 62-68 ZIER ZIER RMR-RCH8-14 1110 6 1 O
56-62 ZIER ZIER 1101 5 1 O
50-56 1100 4 1 O
44-50 1011 3 1 O
38-44 1010 2 1 O
32-38 1001 1 1 O
26-32 1000 O 1 O
20-26 0111 5 1 O
14-20 0110 4 1 O
8-14 0101 3 1 O
0100 O
Vie Ifach-Auswahltabelie
709828/0831
Hinweise zur Vielfach-Auswahltabelle:
X ist stets eine Null
Das RMN-Register wird stets zunächst auf Null gesetzt, bevor mit dem Multiplikatorbitauswahlprozeß begonnen wird.
+ Die Freigabesteuerung des Schalters ist während dieses Zyklus abgeschaltet, wodurch das ZIER-Ausgangssignal auf Null gesetzt wird.
Im folgenden wird der Eingangsabschnitt 300 näher betrachtet. Dieser Abschnitt enthält Verknüpfungsglieder- bzw. Gatterund Registerschaltungen 301, 302, 304 und 306, die Signale aufnehmen, welche kennzeichnend sind für den Multiplikanden und den Multiplikator, sowie zwei Register 308, 314, Verzögerungsschaltungen· 320, und zwar zusätzlich zu den Schaltungen 310, 312 und 316, die die verschiedenen Bits des Multiplikators in der richtigen Reihenfolge auswählen. Die Folgen und die Multiplikatorbitgruppierungen für die verschiedenen Befehle sind ebenfalls in der obigen Tabelle angegeben. Durch die Schaltungen des betreffenden Abschnitts ist das Multiplikatorsystem an eine 36 Bit breite Busleitung angepaßt. Es dürfte einzusehen sein, daß dieser Abschnitt wesentlich weniger komplex wäre, wenn das System an eine 72-Bit-Busleitung angeschlossen wäre.
Das RMN-Register 308 ist ein 9-Bit-Register, welches gelöscht bzw. auf Null gestellt wird, und zwa_.r jeweils dann, wenn das RCA-Register 302 geladen wird (d.h. dann, wenn die Bits 91 bis 93 einen derartigen Ladevorgang angeben). Wenn das Signal SET50NS12 eine binäre 1 ist, wird das Register mit den Bits 0 bis 8 von dem Register RCH her geladen (nicht dargestellt). Auf diese Weise ist das Laden auf den letzten vollständigen 100-NanoSekunden-Zyklus begrenzt, bevor das System beginnt, im 50-ns-Betrieb zu arbeiten. Im Falle von
709830/06*1
- Mr-
Multiplikatoren mit doppelter Genauigkeit bzw. Stellenzahl liefert das RMN-Register 308 einen glatten bzw. gleichmäßigen Übergang bei Übertragung der niederen und höheren Wörter des Multiplikators.
Das-RCA-Register 302 ist ein 36-Bit-Register, welches eine Speicherung für ein Wort des Multiplikators vornimmt. Wie in Fig. 1 dargestellt, werden die Ausgangssignale des betreffenden Registers parallel jeder der Vielfach-Generatorschaltungen 100-2, 100-4 und 100-6 des Abschnitts 100 zugeführt. Die Puffergatterschaltungen 304 sind in entsprechender bzw. ähnlicher Weise parallel an den Vielfach-Generatorschaltungen des Abschnitts 100 angeschlossen. Im Falle eines Betriebs mit doppelter Genauigkeit bzw. Stellenzahl (Gleitkommabefehl) geben diese Schaltungen die niederwertigsten 36 Bits des Multiplikanden von der Eingabe-ZAQ-Busleitung her ab; die betreffenden Bits WErden dort während der Ausführung des Befehls festgehalten. Im Falle einer Operation mit einfacher Genauigkeit sind die Eingabepuffer durch das Signal SUPZAQ10 von dem Block 401 her unwirksam gemacht. Dies führt dazu, daß Nullen den Schaltungen des Abschnitts 100 zugeführt werden.
Im folgenden seien die Multiplikator-Auswahlschalter näher betrachtet. Dabei zeigt sich, daß der ZMR-Schalter 310 ein 9 Bit breiter 1-aus 8-Datenauswahlschalter ist. Unter der Steuerung des Zählers 408 führt der ZMR-Schalter 310 die Haupt-Multiplikatorbitauswahl aus. Der ZZMR-Schalter 312 ist ein 7 Bit breiter i-aus-2-Datenauswahlschalter, der eine Auswahl dahingehend trifft, welche Reihe der Ausgabe-Multiplikatorbitsignale (ZMRO-8) in das 7 Bit breite RMR-Register 314 geladen wird. Der ZIER-Schalter 316 ist ein 7 Bit breiter 1-aus-2-Datenauswahlschalter, der auswählt, welche Multiplikatorbitsignale den Vielfach-Generatorschaltungen des Abschnitts 100 zugeführt werden.
700820/0631
Während der anfänglichen Überprüfung des Multiplikators wählt der ZIER-Schalter 316 entweder die Bits direkt von dem Eingabe-RCH-Register aus, und zwar dann, wenn der Multiplikationsbefehl eine Festkommaoperation angibt, oder er überführt seine Ausgangssignale in Nullen, wenn der Multiplikationsbefehl eine Gleitkommaoperation angibt. Die anfängliche Überprüfung erfolgt stets während eines vollständigen 100-ns-Zyklus. Sämtliche übrigen Überprüfungen des Multiplikators erfolgen während 50-ns-Zyklen, während welcher Zeitspanne der ZIER-Schalter 316 das RMR-Register auswählt.
Während des 100-ns-Zyklus steht genügend Zeit zur Verfügung, um die Multiplikatorbits von dem RCH-Register auszuwählen und um das Vielfache zu erzeugen. Das RMR-Register stellt sicher, daß die Multiplikatorbitauswahl innerhalb eines Zyklus erfolgt und daß die Vielfach-Erzeugung im nächsten Zyklus erfolgt.
Während der anfänglichenüberprüfung wird das Bit niedrigster Wertigkeit vom Eingangssignal RMNO ausgewählt. Dieses Bit wird gewählt mit Rücksicht darauf, daß es eine Null bei Fest-Multiplikationsbefehlen und zur Bezeichnung des Anfangs des ersten Multiplikationswortes eines Multiplikationsbefehles mit vierfacher Genauigkeit bzw. Länge ist. Außerdem entspricht das betreffende Bit dem Bit höchster Wertigkeit des vorhergehenden Wortes, und zwar während der Durchschaltung der Multiplikatorwörter für den Multiplikationsbefehl mit vierfacher Genauigkeit bzw. Länge.
Wie hier erläutert wird, ist die Multiplikationsoperation so ausgelegt, daß die letzte Teilproduktsummation in dem Übertragsicherungs-Addierernetzwerk in der letzten Hälfte des letzten 100-ns-Zyklus auftritt, während das System im 50-ns-Betrieb arbeitet. Dies führt zu einem gleichmäßigen
7098^8/0^1
Übergang zurück auf den 100-ns-Betrieb. Demgemäß muß die letzte Multiplikatorüberprüfung während der ersten Hälfte des betreffenden letzten 100-ns-Zyklus stattfinden.
Die Anzahl der 50-ns-Zyklen ist so gewählt, daß sie stets gerade ist und daß die Anzahl der Multiplikator-Bitauswahlzyklen gleich der Anzahl der 50-ns-Zyklen abzüglich eins bzw. zuzüglich eins für die Auswahl des ersten Multiplikatorbits während des letzten 100-ns-Zyklus vor den 50-ns-Zyklen ist,» Demgemäß muß die Zahl der Multiplikatorbitauswahlzyklen ebenfalls gerade sein. Während diese Maßnahme akzeptabel ist für den 36-Bit-Multiplikator, der im Falle der Festkommaoperationen benutzt wird, erfordern die 28- und 64-Bit-Multiplikatoren, die im Falle von Gleitkommaoperationen verwendet werden eine ungerade Zahl von Zyklen, um die Überprüfung des Multiplikators zu vervollständigen. Die Anzahl der Zyklen wird dabei dadurch gerade gemacht, daß die ersten ausgewählten Multiplikatorbits alle auf Null gesetzt werden. Die eigentlichen Bits von dem Multiplikator werden dann benutzt, indem mit der nächsten Auswahl begonnen wird.
Wie aus Fig. 1 hervorgeht, werden die durch den ZliR-Schalter 316 ausgewählten Multiplikatorbits durch die in dem Block 320 enthaltenen Schaltungen verzögert und dann parallel an jede der Vielfach-Generatorschaltungen des Abschnitts abgegeben. Die Verzögerungsschaltungen können als in herkömmlicher Weise aufgebaut betrachtet werden. So können die betreffenden Schaltungen beispielsweise die Form von Datenauswahlschaltungen aufweisen, die in Reihe geschaltet sind, um den erforderlichen Verzögerungswert zu liefern. Der ausgewählte Verzögerungswert ist dabei derart, daß die Abtastung oder das Laden der Verriegelungsschaltungen auf das Abtasten an den anderen Registern folgen kann. Dadurch ist sichergestellt, daß die abgetasteten und RC- und RS-Registern 200-10 und 200-12 zugeführten Signale sich nicht während der Zeit-
spanne ändern, während der die Register 200-10 und 200-12 abgetastet oder geladen werden. Aus diesem Grunde wird das den Verriegelungsschaltungen zugeführte Takt- oder Abtastsignal CLOCK DL210 ebenfalls verzögert.
Im folgenden wird der Vielfach-Generatorabschnitt 100 betrachtet, der die Vielfach-Generatorschaltungen 100-2, 100-4 und 100-6 zuzüglich zu den Übertrag-Generatorschaltungen und Decoderschaltungen des Blockes 100-10 enthält. Diese Schaltungen steuern auf die Zuführung der Multiplikatorbits hin die Erzeugung der Vielfachen des Multiplikanden während der Multiplikation. Wie erwähnt, erhält jede der Schaltungen 100-2, 100-4 und 100-6 als Dateneingangssignale die Multiplikandensignale von dem RCA-Register 302 und die ZAQ-Mngangsbussignale von den Puffergatterschaltungen des Blockes 304.
Jede der Vielfach-Generatorschaltungen verwendet Schaltungen, die an anderer Stelle näher beschrieben sind (siehe US-Patentanmeldungen, Serial Nos. 565 182 entsprechend Dt. Anm. P 26 13 511.5, Serial No. 484 373). Die durch derartige Schaltungen ausgeführte Funktion ist in Fig. 2c veranschaulicht. Unter Bezugnahme auf Fig. 2c dürfte ersichtlich sein, daß die Vielfach-Generatorschaltung in gewisser Hinsicht als ein 1-aus-5-Datenauswahlschalter arbeitet, dessen Ausgangssignal eine Anzahl von Verriegelungsschaltungen speist bzw. steuert. Die Verriegelungsschaltungen ermöglichen die Bildung des Vielfachen und die Summierung des Vielfaches1 zu dem Teilprodukt, wobei dies gleichzeitig über ein Intervall von zwei 50-ns-Zyklen erfolgt. Es sei darauf hingewiesen, daß jede Generatorschaltung 73 Bit breit ist. Diese Breite ermöglicht, die 72-Bit-Multiplikanden um eine Bitposition nach rechts zu verschieben, ohne daß dabei eine Verkürzung erfolgt. Das Bit muß solange gespeichert werden, bis es zu dem Teilprodukt hinzuaddiert worden ist und bis sämtliche aus der Addition resultierte Überträge vollständig weiter-
geleitet worden sind. Die Verschiebung ist in Fig. 1 durch zwei Nullen (d.h. 0,0) angegeben. In anderen Positionen sind Festwerte von Null und Eins in entsprechenden Positionen verdrahtet, so daß die in Frage kommenden Werte für die Bits niedrigster Wertigkeit dieser Vielfache bereitgestellt werden.
ZIER-
ausgewählte Multiplikatorbits
ZIER-Eingabe für V1i4-Chip
Durch Algorithmus
erforderliche
Vielfachbildung
Maßnahme
des Vielfachgenera
tors
Ergebnis
des Übertrags bei d.Erzagng
000
001
111
110
O*Multiplikand
1/2*Multiplikand
0
Multipli
kand um
eins nach
rechts
0
0
010 101 1/2*Multiplikand Multipli
kand um
eins nach
rechts
0
011 100 1*Multiplikand Multipli
kand
0
100 011 -1*Multiplikand Multipli
kand
1
101 010 -1/2*Multiplikand Multipli-
kand um
eins nach
rechts
1
110 001 -1/ 2*Multiplikand Multipli-
kand um
eins nach
rechts
1
111 000 O*Multiplikand 0 0
709828/0Θ31
Aus der Tabelle ergibt sich, daß dann, wenn ein "negatives" Vielfaches für die Erzeugung bestimmt ist, die Vielfach-Generatorschaltung das Einerkomplement (inverse Größe) der Vielfache zusammen mit einem Eintragbit erzeugt, das von den Schaltungen des Blocks 100-10 geliefert wird. Wenn das Komplement des Vielfaches zu dem Teilprodukt durch das Übertragsicherungsnetzwerk des Abschnitts 200 hinzuaddiert wird, wird auch das Eintragbit zu der Bitposition niedrigster Wertigkeit des Vielfachen hinzuaddiert. Dadurch ist die Ausführung der Vielfachbildung (Zweierkomplement) für eine erwünschte Subtraktionsoperation abgeschlossen.
Die Schaltungen des Blocks 100-10 enthalten Decoderschaltungen von herkömmlichem Aufbau, die die verschiedenen Gruppen der Multiplikatorbits decodieren und die die in Frage kommenden Ausführungssignale mit den Werten erzeugen, die durch die obige Tabelle angegeben sind.
Darüber hinaus enthält der Block 100-10 eine Vielzahl von Flipflops und Verzögerungsschaltungen von herkömmlichem Aufbau. Die Verzögerungsschaltungen, die ebenfalls aus Datenauswahlschaltungen aufgebaut sein können, verzögern die Ausführungssignale, die von den Decoderschaltungen erzeugt worden sind. Die Signale werden danach in taktgesteuerten Flipflops gespeichert, deren Binärsignale 1 als Eingangssignale dem Übertragsicherungsaddiererabschnitt 200 und dem Volladdiererabschnitt 250 zugeführt werden. Die Ausgangssignale entsprechen den Signalen DLFFCARRYA10, FFCAPiRYBIO und FFCARRYC10. Das decodierte Signal DLFFCARRYA10, welches auf die Gruppe von Multiplikatorbits für den Α-Pegel hin erzeugt worden ist, wird den beiden in Reihe geschalteten Flipflops zugeführt, bevor es dem Abschnitt 250 zugeführt wird, um nämlich eine geeignete Zeitsteuerung zu erzielen, wie dies noch erläutert werden wir*.
709828/0631
Der Übertragssicherungsaddiererabschnitt 200 enthält eine Vielzahl von Übertragssicherungs-Addiererreihennetzwerkai 200-2, 200-4 und 200-6, und zwar zuzüglich zu einem Übertragsregister (RC) 200-10 und einem Summenregister (RS) 200-12. Die drei mit A, B, und C bezeichneten Ebenen der Übertragssicherungs-Addiererreihennetzwerke addieren die Vielfache zu dem Teilprodukt, das in den Registern 200-10 und 200-12 akkumuliert worden ist.
Die verschiedenen Ebenen sind in Fig. 2c und 2d im einzelnen dargestellt. In Fig. 2c sind die Verbindungen zu jeder der Übertragssicherungs-Addierernetzwerkebenen für die Multiplikation eines 8-Bit-Multiplikanden mit einem 6-Bit-Multiplikator veranschaulicht. Es sei darauf hingewiesen, daß die Übertragssicherungs-Addierernetzwerke um zwei Übertragssicherungs-Addiererschaltungsstufen sowohl am Ende höchster Wertigkeit als auch am Ende niedrigster Wertigkeit der jeweiligen Ebene erweitert sind. Demgemäß werden in jeder Ebene die Vielfach-Eingangssignale um zwei Bitpositionen nach links verschoben, und in der unteren Ebene nehmen die vier Übertragssicherungs-Addiererschaltungen keine Eingangssignale von der Vielfach-Generatorschaltung 100-6 her auf. Durch die Verbreiterung des höchstwertigen Endes werden die Vielfachen in die in Frage kommenden Bitpositionen gebracht, die zu dem Teilprodukt hinzuzuaddieren sind. Dadurch wird die 2-Bit-Verschiebung der Vielfache nach links bewirkt.
Jeder der Blöcke innerhalb der jeweiligen Ebene (z.B. CSA, CSB und CSC) stellt eine Übertragssicherungs-Addiererschaltung dar, die die Addition zweier Summandenbits und eines Übertragbits ausführt. Während diese Schaltung als in herkömmlicher Weise aufgebaut betrachtet werden könnte, besitzt sie bei der bevorzugten Ausführungsform die Form der Übertragsicherungs-Addiererschaltung, die in der US-Patentanmeldung, Serial No. 562 316 angegeben worden ist. Die
709628/0651
•3*"'
Signale ACin, BCin und CCin entsprechen den von den Eintrag-Generator schaltungen erzeugten Ausgabe-Eintragsignalen. Das Signal ACin wird anstatt an die Übertragsicherungs-Addierernetzwerke abzugeben in einem Flipflop (nicht dargestellt) gespeichert und dann dem Übertragaddierer des Abschnitts 250 während eines folgenden Operationszyklus zugeführt.
Die RC- und RS-Register 200-10 und 200-12 speichern die Übertrag- und Summenausgangssignale, die von dem Übertragsicherungs-Addierernetzwerk der C-Ebene erzeugt worden sind. Die Ausgangssignale dieser Register werden, wie dargestellt, als Eingangssignale dem Übertragsicherungs-Addierernetzwerk der A-Ebene und dem Schnellübertragsaddierer des Abschnitts 250 zugeführt.
In Fig. 2d ist die strukturelle Anordnung der in Fig. 1 verwendeten Übertragsicherungs-Addiererreihennetzwerke veranschaulicht. Die linken und rechten Seiten der betreffenden Figur zeigen die Bitstruktur höchster Wertigkeit bzw. die Bitstruktur niedrigster Wertigkeit. Der mittlere Teil der betreffenden Figur enthält jeweils drei Punkte, durch die angezeigt sein soll, daß der mittlere Teil gerade eine Wiederholung der dargestellten Muster ist, wobei für eine gegebene Übertragsicherungs-Addiererschaltung η die Eingangssignale einem Vielfachschaltungsbit η in derselben Ebene entsprechen, in der die Addiererschaltung liegt, wobei ein Summenbit n-2 und ein Übertragbit n-1 von der vorhergehenden Ebene stammen. Es sei darauf hingewiesen, daß die RC- und RS-Register 200-10 und 200-12 die vorhergehende Ebene für die Addiererebene A darstellen. Die Eintragsignale FFCARRYC und FFCARRYB, die von den Übertragerzeugungs- und Decodierschaltungen des Blockes 100-10 erzeugt werden, werden an den dargestellten Stellen in die Ebenen eingeführt. Das Eintragsignal FFCARRYA wird in den Schnellübertragsaddierer des Abschnitts 250 eingeführt, und zwar an der Stufe, die das Bit 76 erzeugt, wie dies nachstehend noch erläutert wird.
709829/0631
Der Volladdiererabschnitt 250 enthält einen 78-Bit-Addierer 250-2 mit einer Übertrag-Vorgriffsausbreitung zusätzlich zu einer Austragspeicherung, wie dies in Fig. 2c veranschaulicht ist (das ist das Flipflop 250-8). Der Addierer 250-2 addiert die Übertragssignale zu den Summensignalen des Teilprodukts zum Zwecke der Bildung des Endprodukts. Die Addiererstufen können in herkömmlicher Weise aufgebaut sein; bei der bevorzugten Ausführungsform können sie die Form der Übertrag-Vorgriffs- und Addiererschaltungen besitzen, wie sie in den US-Patentanmeldungen Serial Nos. 562 327 und 562 316 angegeben worden sind.
Im Betrieb erzeugt der Addierer 250-2 während der Haupt-Multiplikationszyklen ein Austragsignal für die Bits des Produktes, die während des betreffenden Zyklus unberücksichtigt zu lassen sind (das sind die Bits 71 bis 76). Das Austragsignal der Bitposition 71 wird in einem Flipflop, wie dem Flipflop 250-8 gemäß Fig. 2c gespeichert, und als Übertrag-Eingangs signal (das ist das Signal RIPCIN in Fig. 2c) während des nächsten Zyklus dem Addierer 250-2 zugeführt.
Wie in Fig. 2c dargestellt, sind die Registerstufen des RS-Registers 200-12 mit entsprechenden Stufen des Addierers 250-2 verbunden. Der Inhalt der Registerstufen des RC-Registers 200-10 wird in der Tat um eine Bitposition nach links verschoben und dann mit den Stufen des Addierers 250-2 in Verbindung gebracht. Dadurch bleibt der Eingang für die Stufe der Bitposition 76 oder für die Position 12 gemäß Fig. 2c frei für die Einfügung des Eintragsignals von der Ebene A her. Die Extra-Bitposition in dem Addierer 250-2 entspricht der Bitposition höchster Wertigkeit; sie dient als erweitertes Vorzeichenbit. Diese Stufe erzeugt stets das tatsächliche Vorzeichen; sie kann bei der Ermittelung und Korrektur von Überlaufbedingungen herangezogen werden. Der in Fig. 2c mit "PROP BIT" bezeichnete Eingang ist so ge-
7Ο9828/0Θ31
schaltet, daß ein binäres "1" Signal die Weiterleitung des Austragsignals durch die betreffende Stufe freigibt. Die Stufen in Fig. 1 führen außerdem in entsprechender Weise binäre Einsen; wo derartige Stufen fehlen, tritt ein zweites Eingangssignal von den Übertragsicherungs-Addiererschaltungen oder anderen zugehörigen Schaltungen auf.
Im folgenden wird die Arbeitsweise der Anordnung näher erläutert. Bevor die Arbeitsweise des Systems der vorliegenden Erfindung veranschaulicht wird, sei zunächst die Gesamtoperation des Systems in generellen Ausdrücken unter Bezugnahme auf Fig. 4 und unter Bezugnahme auf eine nachfolgend angegebene Tabelle beschrieben.
Wie erwähnt, überlappen sich die von den verschiedenen Bereichen des Systems ausgeführten Operationen. Die nachstehend angegebene Tabelle zeigt die Hauptmaßnahmen, die in jedem Operationszyklus während der Ausführung eines typischen Befehls auftreten. Die Tabelle zeigt dabei lediglich jene Zyklen, die den verschiedenen Abschnitten bzw. Bereichen zugeordnet sind, in denen Maßnahmen stattfinden, die in Beziehung stehen zur Erzeugung des Endproduktes. Es sei jedoch darauf hingewiesen, daß sämtliche Abschnitte bzw. Bereiche stets eine gewisse Maßnahme ausführen.
--aar-
Multiplikatorbitauswahl
Vielfsche-
Erzeu-
gung
Übertrag-
siche-
rungs-
Addier-
reihe
Multiplika tor-» RCH
0* RMN
Lade obere Hälfte Multiplikand in RCA
0» RC, RS
1.MuItI-plikatorbite> ZIER RCH0-8> RMN
2.Multiplikator- bits-» RMR
1. Vielfaphe. zu RMG1S
übertrag-Weiter-
leitungsaddierer
Datenausgabe
0)
cd <H H ω •Η
Ή H
α)
ta
τ
ei) ω
r{ Λ
O ο
cd cd
<H «Η
H ι—I
ω CU
(0
26.S8248
RC+RS AM
709828/0631
Fig. 4 zeigt die Maßnahmen bzw. Aktionen für eine festliegende Multiplikation binärer ganzer Zahlen (MPY), welche Multiplikation einen 36-Bit-Multiplikanden umfaßt. Bezugnehmend auf Fig. 4 sei darauf hingewiesen, daß der erste Zyklus ein Aufsetzzyklus ist. Während dieses Zyklus werden die Multiplikatorbitsignale in ein Register geladen, in welchem sie überprüft werden können, und der Multiplikand wird in das RCA-Register geladen. Bei diesem Beispiel werden während desselben Zyklus in die Register RMN, RC und RS Nullen geladen.
Während des zweiten Zyklus erhält das System die zweite Hälfte des Multiplikanden von dem ZAQ-Bus her. Da die zweite Hälfte des Multiplikanden bei diesem Befehlstyp stets Null ist, wird der Eingangsbus auf Null überführt. Zu diesem Zeitpunkt wird das System in den 50-ns-Operationsbetrieb mit Beginn des nächsten 100-ns-Zyklus überführt, und zwar durch die Schaltungen des Blockes 401. Außerdem wird der Zähler in den Zustand 1110 überführt worden sein.
Es sei darauf hingewiesen, daß während dieses Zyklus der Eingangsabschnitt bzw. -bereich 300 die ersten sieben Bits des Multiplikators überprüft, was bewirkt, daß das erste Vielfache, welches?jeder der Vielfachgeneratorschaltungen 100-2, 100-4 und 100-6 erzeugt worden ist, in die zugehörigen Verriegelungsschaltungen geladen wird. Dies bedeutet, daß der ZIER-Schalter 316 die verschiedenen Gruppen der Multiplikatorbits auf jede der Generatorschaltungen verteilt, die ihrerseits das von den Verriegelungsschaltungen zu speichernde in Frage kommende Vielfache auswählen. Gleichzeitig wird eine zweite Reihe von Multiplikatorbits ausgewählt und in das RMR-Register 314 geladen. Ferner werden die oberen Bits in das RMN-Register 308 geladen.
709828/0531
- 2β -
¥ie aus Fig. 4 ersichtlich ist, beginnt das System eine Reihe von vier 50-ns-Zyklen, die wiederholt dieselben Maßnahmen ausführen. Während jedes Zyklus wird eine nächste Gruppe von Multiplikatorbits ausgewählt und in das RMR-Register 316 geladen. Parallel damit wählen die zuvor in dem RMR-Register 316 abgespeicherten Multiplikatorbits die nächste Gruppe von Vielfachen aus, die in den Verriegelungsschaltungen gespeichert wird. Die zuvor in den Verriegelungsschaltungen gespeicherten Vielfache werden durch die Übertragsieherungs-Addierernetzwerke 200-2, 200-4 und 200-6 zu den Inhalten der RC- und RS-Register 200-10 und 200-12 hinzuaddiert, wobei das Ergebnis in den RC- und RS-Registern 200-10 und 200-12 sodann gespeichert wird. Es sei darauf hingewiesen, daß der Zähler 408 in seiner Zählerstellung durch die Schaltungen des Blockes 401 während jedes Zyklus verkleinert wird.
Nachdem die oben angegebenen Operationen ausgeführt sind, ist das Laden der Multiplikatorbits abgeschlossen. Während des nächsten Zyklus bewirken die zuvor in dem RMR-Register 316 gespeicherten Multiplikatorbits die Auswahl der letzten Gruppe von Vielfachen. Die Vielfach-Generatorschaltungen erzeugen die Vielfache, die in den zugehörigen Verriegelungsschaltungen gespeichert werden, während die Übertragsicherungs-Addierernetzwerke die zuvor in den Verriegelungsschaltungen gespeicherten Vielfache summieren. Während eines letzten Ausführungszyklus summieren die Übertragsicherungs-Addierernetzwerke die in den Verriegelungsschaltungen gespeicherten Vielfache, wie dies in Fig. 4 veranschaulicht ist. An dieser Stelle speichern die Übertrag- und Summenregister 200-10 und 200-12 das vollständige Produkt. Außerdem ist das System während dieses Zyklus in einem solchen Zustand, daß eine Zurückschaltung in den 100-ns-Operationsbetrieb durch die Schaltungen des Blockes 401 erfolgt.
Die nächsten beiden Zyklen dienen als "Reinigungs"-Zyklen,
709S28/G851
während der der Volladdierer 250-2 den Inhalt der RC- und RS-Register 200-10 und 200-12 addiert. Außerdem werden während dieser Zyklen Anzeigen (d.h. Null und Vorzeichen) überprüft, und für das Endprodukt kennzeichnende Signale werden zu verschiedenen Registern zum Zwecke der Abspeicherung hin übertragen, die in anderen Einheiten untergebracht sind.
Es sei darauf hingewiesen, daß bei unterschiedlichen Befehlen geringfügige Variationen in den Zyklen sowie in den Aufsetz- bzw. Einrichtungsoperationen vorhanden sind. So werden beispielsweise, wie oben erwähnt, im Falle eines Gleitkomma-Multiplikationsbefehls während des anfänglichen 100-ns-Zyklus die Eingangssignale zu Null gemacht, um nämlich die Anzahl der 50-ns-Zyklen gerade zu machen. Auf diese Weise ist sichergestellt, daß der letzte Halbzyklus in Synchronismus mit dem Ende eines 1OO-ns-Zyklusintervalls auftritt. Dies bedeutet, daß die Multiplikation mit einem Vollzyklus oder einem Halbzyklus beginnt, und zwar in Abhängigkeit davon, ob der Multiplikator durch sechs teilbar ist.
Nunmehr wird die Arbeitsweise des Multiplikationssystems gemäß der vorliegenden Erfindung unter Bezugnahme auf ein spezielles Beispiel näher beschrieben. Das betreffende Beispiel ist durch einen Multiplikations-Bruchbefehl (MPF) gegeben, bei dem der Multiplikator, der Multiplikand und das Endergebnis folgende Werte besitzen:
Multiplikator = 0,101 1000 1110 1100 0000 ...0000 binär
= 0,543540000000 oktal
= 0,6947021484375 dezimal
Multiplikand
Produkt
= 0,111 0000 0000 ...0000
= 0,7
= 0,875
= 0,100 1101 1100 1110 1000...0
= 0,467164
= 0,6078643798828125
binär oktal dezimal binär oktal dezimal
70Θ828/0631
Die Werte für den Multiplikator sind so ausgewählt worden, daß jede der acht möglichen Kombinationen der Multiplikatorbits eingeschlossen ist. Der Multiplikand ist zum Zwecke der leichteren Darstellung so gewählt worden, daß mit Ausnahme einer Ziffer lediglich Nullen vorliegen. Die äquivalenten Oktal- und Dezimalwerte sind ebenfalls angegeben worden, um die Darstellung der Ergebnisse zu erleichtern, die während jedes Operationszyklus erzeugt werden. Die Inhalte der Register besitzen Oktalwerte, die während des Zyklus angezeigt werden. Die Werte sind ebenfalls in Binärform in jenen Fällen angegeben, in denen es für ein Verständnis der Arbeitsweise des Systems erleichtert ist.
Der erste Zyklus ist ein Startausführungszyklus. Während dieses Zyklus wird der zunächst von einem Dateneingaberegister (nicht dargestellt) zugeführte Multiplikator über ein (nicht dargestelltes) Kurzzeitspeicherregister RCH an die Leitungen RCHO-35 abgegeben. Außerdem wird der Multiplikand von einem Operandenregister (nicht dargestellt) zu dem RCA-Register 302 hin übertragen. Bei dem Beispiel besitzen die betreffenden Größen folgende Werte:
Multiplikator = 0,543540000000 Multiplikand = 0,700000000000
Der Inhalt der anderen Register, z.B. RCH, RMN, RCA, RC, RS, RMR, und der Verriegelungsschaltungen RMGA, RMGB und RMGC, kann irgendwelche Werte speichern, da diese Werte nicht relevant sind (d.h., daß diese Werte unberücksichtigt zu lassende Situationen darstellen).
Während des zweiten Zyklus wird die erste Reihe von Vielfachen bereitgestellt, und die Multiplikatorbits werden über den ZIER-Schalter 316 entsprechend den RCH-Bits 30-35 und dem RMN-Bit 0 überprüft. In diesem Fall sind sämtliche sieben Multiplikatorbits Nullen. Deshalb wählt die Decoderschaltung
709828/0831
jeder Vielfach-Generatorschaltung Nullen für sämtliche drei Ebenen aus, und die Nullen werden in jeder der Verriegelungsschaltungen RMGA, RMGB und RMGC gespeichert. Außerdem werden die RCH-Bits 24-30 durch den ZMR-Schalter 310 ausgewählt und in das RMR-Register 314 über den ZZMR-Schalter 312 geladen. Die RCH-Bits 0-8 werden auf das Auftreten des Signals SET50NS12 hin in das RMN-Register 308 geladen. Durch das Signal SET50NS12 werden außerdem die Schaltungen des Blockes 40 in einen solchen Zustand überführt, daß während des nächsten Zyklus eine Umschaltung in den 50-ns-Operationsbetrieb erfolgt.
Während des zweiten Zyklus speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten:
RCHO = 0,5435400000000
RCA = 0,7000000000000
ZAQ =0,0000000000000
RMN = 000
RC = 0,0 0
RS = 0,0 0
ZIER = 000
CARRYA =0
CARRYB =0
CARRYC = 0
Während dieses Zyklus (das ist der erste 50-ns-Zyklus) werden die in dem vorhergehenden Zyklus bereitgestellten bzw. erzeugten Vielfache durch die Übertragsicherungs-Addierernetzwerke unter Bildung· eines Null-Teilproduktes zusammenaddiert, welches durch den Inhalt der Übertrags- und Summenregister dargestellt ist. Dies bedeutet, daß mit Rücksicht darauf, daß sämtliche Eingangs-Vielfachsignale Nullen sind, sämtliche Addierersummen- und Übertragausgangssignale, die erzeugt worden sind, Nullen sind. Die in dem RMR-Register 314 gespeicherten Multiplikatorbits sind Nullen, weshalb die
709828/0631
während dieses Zyklus erzeugten Vielfache Nullen sind. Darüber hinaus sind die Übertragausgangssignale Nullen. Die Multiplikatorsignale RCH 18-24 werden ausgewählt und in dem RMR-Register 314 untergebrecht.
Während dieses Zyklus (das ist der erste 50-ns-Zyklus) speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten;
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0,0 0
RMN = 261
RMGA = 0,0 0
RMGB = 0,0 0
RMGC = 0,0 0
RC =0,0 0
RS = 0,0 0
ACSACARRY =0,0 0
ACSA SUM =0,0 0
ACSB CARRY = 0,0 0
ACSBSUM' =0,0 0
ACSC CARRY = 0,0 0
ACSC SUM = 0,0 0
FF-CARRY A 10 =0
FF-CARRY B 10 =0
FF-CARRY C 10 =0
RMR = 000
ZIER = 000
CARRY A =0
CARRY B =0
CARRY C =0
Während des nächsten Zyklus (das ist der zweite 50-ns-Zyklus) speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten;
709828/0831
- Jar-
RCHO RCA ZAQ RMN RMGA RMGB RMGC
ACSA CARRY ACSA SUM ACSB CARRY ACSB SUM ASSC CARRY ACSC SUM FF-CARRY A FF-CARRY B FF-CARRY C RMR ZIER CARRY A CARRY B CARRY C DL-FF-CARRY A
Volladdierer (AM) Addiereraustra^it
0,543540000000
0,70 0
0,0 0
261
0,0 0
0,0 0
0,0 0
0,0 .0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
000
000
0,0
Es sei darauf hingewiesen, daß wieder Vielfache mit einem Null-Wert durch die Übertragsicherungs-Addierernetzwerke addiert werden und zur Bildung eines Null-Teilproduktes führen, welches den Summen- und Übertragkomponentensignalen entspricht, die in den RS- und RC-Registern 200-12 und 200-10 gespeichert sind. Außerdem werden neue NuIl-Vielfache durch die Vielfach-Generatorschal tungen erzeugt, da die in dem RMR-Register 314 gespeicherten Multiplikatorbits Nullen sind. Die Multiplikator-
709828/0631
- Ji -
bits RCH 12-18 werden ausgewählt und in dem RlVIR-Register 314 gespeichert. Der Voll-Übertragsaddierer 250-2 summiert die Inhalte der Register RC und RS, was zu einem Null-Austragsignal für die PrQduktbits führt, die unberücksichtigt zu lassen sind (d.h., die für das Endergebnis nicht benötigt werden).
Während des nächsten Operationszyklus (das ist der dritte 50-ns-Zyklus) nehmen die Übertragsicherungs-Addierernetzwerke ebenfalls eine Summierung der in den Verriegelungsschaltungen gespeicherten Null-Vielfache mit dem Null-Teilprodukt vor, was zu einem Null-Teilprodukt führt. Der Voll-Übertragsaddierer erzeugt ebenfalls ein Null-Endproduktergebnis. Während dieses Zyklus sind jedoch die in dem RMR-Register 314 gespeicherten Multiplikatorbits nicht alle Nullen, sondern vielmehr besitzt die betreffende Größe den Binärwert "1100000". Dies bedeutet, daß die Gruppen der Multiplikatorbits für die Ebenen A, B und C gegeben sind mit "000", "000" bzw. "110". Deshalb erzeugen die Vielfach-Generatorschaltungen 100-2 und 100-4 Null-Vielfache, während die Vielfach-Generatorschaltungen 100-6 ein Vielfaches mit einem Wert des -1/2-fachen des Multiplikanden erzeugen. Die RMGC-Vielfach-Generatorschaltung erzeugt das Vielfache dadurch, daß die Eingabe-Multiplikand—Signale um eine Bitposition nach rechts verschoben werden und daß sodann jedes Bitsignal. komplementiert oder invertiert wird. Das Übertrag-Ausgangssignal ist ebenfalls eine binäre 1, um die Subtraktionsoperation durch die Zweierkomplementaddition zu vervollständigen. Schließlich werden die Bits RCH 6-12 ausgewählt und in dem RMR-Register 314 gespeichert.
Während dieses Zyklus speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten;
709828/0631
-16 -
RCHO RCA ZAQ RMN RMGA RMGB RMGC RC
RS
ACSA CARRY ACSA SUM ACSB CARRY ACSB SUM ACSC CARRY ACSC SUM FF-CARRY A FF-CARRY B FF-CARRY C RMR ZIER CARRY A CARRY B CARRY C DL-FF-CARRY A
Volladdierer (AM) Addiereraustragbit Addierer-F-Eintragbit (CARRY = Übertrag)
0,543540000000
0,70 0
0,0 0
261
0,0 0
0,0 0
0,0 0
0,0 0
0,0 0
0,0 „ 0
0,0 0
0,0 0
ο,ο..; ο
0,0... 0
0,0 0
140
140
O
0,0 (
O O
Der Oktalwert 1 in dem RMR-Register 314 entspricht dem Wert der Bitposition niedrigster Wertigkeit der nächsten Binärzahl (das ist 5).
Während dieses Zyklus (d.h. während des vierten 50-ns-Zyklus) speichern und erzeugen die in Frage kommenden Register und
709828/0631
Schaltungen Signale mit folgenden Werten:
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0,0 0
RMN = 261
RMGA = 0,0 0
RMGB = 0,0 0
RMGC = 1,437 7
RC = 0,0 0
RS =0,0 0
ACSA CARRY = 0,0 0
ACSA SUM = 0,0 0
ACSB CARRY = 0,0 0
ACSB SUM = 0,0 04
ACSCCARRY =0,0 0100
ACSC SUM = 1,437 7600
FF-CARRY A 10 =0
FF-CARRY B 10 =0
FF-CARRY C 10 =1
RMR = 035
ZIER = 035
CARRY A = 1
CARRY B =0
CARRY C =0
DL-FF-CARRY A 10 =0
Volladdierer (AM) = 0,0 0
Addiereraustragbit 71 =0
Addierer-F-Eintragbit 76 = 0
Es sei darauf hingewiesen, daß während dieses Zyklus die Übertragsicherungs-Addierernetzwerke das erste von Null abweichende Vielfache zu dem Teilprodukt addieren. Da die Signale von den RC- und RS-Registern 200-10 und 200-12 und von den RMGA-Verriegelungsschaltungen Nullen sind, sind die Summen- und Über-
709828/0631
tragausgangssignale von dem ACSA-Übertragsicherungs-Addierernetzwerk Nullen. Das gespeicherte Übertragausgangssignal FFCARRYC der Ebene C wird in das Übertragsicherungs-Addierernetzwerk der Ebene B an der Stelle ACSB-70 eingefügt. Dies bewirkt seinerseits, daß das ACSB-Übertragsicherungs-Addierernetzwerk eine von Null abweichende Summe erzeugt, wie dies oben angedeutet worden ist (d.h., daß mit Rücksicht darauf, daß sämtliche Signale um zwei Bitpositionen nach links verschoben werden, die Summe = 4 ist).
Die Vielfach-Signale von den Verriegelungsschaltungen der Vielfach-Generatorschaltung RMGC werden zu dem Teilprodukt mittels des Übertragsicherungs-Addierernetzwerks ACSC summiert, was zu dem angegebenen Ergebnis führt. Während dieses Zyklus summiert der Volladdierer 250-2 noch Nullen.
Während dieses Zyklus besitzen die Multiplikatorbits in dem RMR-Register 314 den Binärwert »0011101". Die Multiplikatorbitgruppen für die Ebenen A, B und C sind "101", "111" bzw."001 Demgemäß erzeugt die Vielfach-Generatorschaltung 100-2 ein -i/2faches des Multiplikanden für die Addition zu dem Teilprodukt. Demgemäß werden die Multiplikandensignale zu der Vielfach-Generatorschaltung 100-2 um eine Stelle nach rechts verschoben, invertiert und in den RMGA-Verriegelungsschaltungen gespeichert. Außerdem wird das Übertrag-Ausgangssignal in eine binäre Eins überführt und gespeichert. Die Multiplikatorsignale "111" bewirken, daß die Vielfach-Generatorschaltung 100-4 ein NuIl-Vielfaches erzeugt. Demgemäß bewirkt die Vielfach-Generatorschaltung, daß Nullen in die RMGB-Verriegelungsschaltungen geladen werden und daß eine Null, das Übertrag-Ausgangssignal, zu erzeugen und zu speichern ist.
Die "001"-Multiplikatorsignale bewirken, daß die Vielfach-Generatorschaltung 100-6 ein +1/2faches des Multiplikanden erzeugt. Demgemäß verschiebt die Schaltung 100-6 die Eingangs-
709828/0631
Multiplikand—signale um eine Stelle nach rechts und lädt diese Signale in die RMGC-Verriegelungsschaltungen für eine spätere Addition zu dem Teilprodukt. Ein binäres Null-Übertrag-Ausgangssignal wird erzeugt und gespeichert. Schließlich werden die Bits RMN 0-6 ausgewählt und in demRMR-Register 314 gespeichert.
Während des nächsten Zyklus (das ist der fünfte 50-ns-Zyklus) speichern und erzeugen die in Frage kommenden Register und Schaltungen Signale mit folgenden Werten:
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0,0 0
RMN = 261
RMGA = 1,437 7
RMGB = 0,0 0
RMGC =0,340 0
RC = 0,0 0100
RS = 1,437 7600
ACSA CARRY = 1,407 76
ACSA SUM = 0,330 0
ACSB CARRY = 0,0020 03
ACSB SUM = 1,6657 74
ACSCCARRY =0,3410 0114
ACSC SUM = 1,41437 7654
FF-CARRY A 10 =1
FF-CARRY B 10 =0
FF-CARRY C 10 =0
RMR = 054
ZIER = 054
CARRY A = 1
CARRY B =0
CARRY C =0
DL-FF-CARRY A 10 =0
Volladdierer (AM) = 3,440.. . . 0
709828/0631
Addiereraustragbit 71 = 1
Addier-F-iiiintragbit 76 = O
Die in dem RMR-Register 314 gespeicherten Multiplikatorbits besitzen den Binärwert "0101100". Dies bedeutet, daß die Hultiplikator-Bitgruppen für die Ebenen A, B und C gegeben sind durch "100", "011" bzw. "010". Demgemäß erfordert die Vielfach-Generatorsehaltung 100-2 die Erzeugung des -Ifachen des Multiplikanden für die Addition zum dem Teilprodukt. Dementsprechend wird die Schaltung 100-2 so betrieben, daß die Multiplikand—Eingangssignale invertiert und in den RMGA-Verriegelungsschaltungen gespeichert werden. Außerdem wird das Übertrag-Ausgangssignal für die Ebene A in eine binäre überführt, um die Zweierkomplementaddition zu beenden. Da die Multiplikatorbits für die Ebene B gegeben sind mit "011", muß die Vielfach-Generatorsehaltung 100-4 das Einfache des Multiplikanden erzeugen. Demgemäß wird die Schaltung 100-4 derart betrieben, daß die Eingangs-Multiplikand signale in den RMGB-Verriegelungsschaltungen gespeichert werden. Außerdem verbleibt das Übertrag-Ausgangssignal für die Ebene B im Binärzustand 0. Die Multiplikatorbits für die Ebene C sind gegeben mit "010", was erforderlich macht, daß die Vielfach-Generatorsehaltung 100-6 das +1/2fache des Multiplikanden erzeugt. Demgemäß verschiebt die Schaltung 100-6 die Eingangs-Multiplikand_signale um eine Stelle nach rechts und lädt diese Signale in die RMGC-Verriegelungsschaltungen. Das Übertrag-Ausgangssignal für die Ebene C ist eine binäre An dieser Stelle sei darauf hingewiesen, daß sämtliche Multiplikatorbits überprüft worden sind.
Während dieses Zyklus summieren die Übertragsicherungs-Addierernetzwerke die zuvor in jeder der Verriegelungsschaltungen RMGA, RMGB und RMGC gespeicherten Vielfache zu dem Teilprodukt in der zuvor beschriebenen Weise. Während jedes
7098 28/063 1
-Jier"-
Zyklus addiert der Addierer 250-2 den Inhalt der RC- und RS-Register 200-10 und 200-12 und das Übertragsignal, das während des nächsten Zyklus von der Bitposition (das ist 76) erzeugt wird. Dies berücksichtigt jegliche Auswirkung, die die unberücksichtigt gelassenen Bits auf das Endprodukt haben werden.
Während des nächsten Zyklus (das ist der sechste 50-ns-Zyklus) summieren die Übertragsicherungs-Addierernetzwerke die in den Verriegelungsschaltungen RMGA, RMGB und RMGC gespeicherten Vielfache zu dem Teilprodukt. Der Addierer 250-2 erzeugt das Austragsignal bzw. Übertrag-Ausgangssignal. Die in Frage kommenden Register und Schaltungen speichern und erzeugen Signale mit folgenden Werten:
RCHO = 0,543540000000
RCA = 0,70 0
ZAQ = 0
RMN = 261
RMGA = 1,07 7
RMGB = 0,70 0
RMGC = 0,340 0
RC = 0,3410 ..0114
RS = 1,41437 7654
ACSA CARRY = 1,16347 76
ACSASUM =0,61430 0
ACSB CARRY = 0,541020 03
ACSBSUM =1,232657 710
ACSCCARRY =0,240410 014
ACSCSUM =1,7661437 .740
FF-CARRY A 10 =1
FF-CARRY B 10 =0
FF-CARRY C 10 =0
DL-FF-CARRY A 10 =1
Volladdierer (AM) = 0,31640 0114
Addiereraustragbit 71 =1
Addierer-F-Eintragbit 76 = 1
709828/0631
Dadurch wird die Reihe der 50-ns-Zyklen beendet, und die Schaltungen des Blockes 401 versetzen das System in den Zustand, in welchem während des Beginns des nächsten Zyklus wieder in den 100-ns-Betrieb zurückgeschaltet wird. In diesem Zyklus besitzen die in Frage kommenden Register und Schaltungen folgende Werte
RC = 0,2404100 014
RS =1,7661437 740
DL-FF-CARRY A 10 =1
F-CARRY-7176 = 1
Volladdierer (AM) = 0,4671640 0
Während dieses Zyklus wird der um eine Stelle nach links verschobene Inhalt des RC-Registers 200-10 zum Inhalt des RS-Registers 200-12 unter Bildung eines Endproduktes in den Stufen 0-71 des Addierers 250-2 addiert. Die Bitposition höchster Wertigkeit des Addierers wird dazu benutzt, Überlaufzustände zu signalisieren. Da die Bildung des Endproduktes abgeschlossen ist, kann das Beispiel als abgeschlossen betrachtet werden. Die zusätzlichen, oben erläuterten "Reinigungs"-Zyklen dienen lediglich der Speicherung des Endproduktes in den in Frage kommenden Registern und der Einstellung der Anzeigen.
Der Vollständigkeit halber ist die nachstehende Tabelle angefügt, um die Zustände der Übertragsicherungs-Addierernetzwerke und des Addierers während der letzten vier Zyklen zu veranschaulichen.
Zyklus 6
RS
Rechts
ACSA
rmga
000 000
000 000
000 000
709828/0631
ACSB
ACSC J
ACSA SUM ACSA CARRY RMGB
ACSB SUM ACSB CARRY
ACSC SUM ACSC CARRY
-JttT-
00000 00000
00000 00100
00000 00000
0000000 0010000
0000000 0000000
1100011 1110000
1100011 1100000
0000000 0010000
Zyklus 7
ACSA
Rechts Rechts
RMGA
Γ ACSA SUM ACSB I ACSA CARRY RMGA
ACSC
ACSB SUM ACSB CARRY RMGC
ACSC SUM ACSC CARRY
Links
Links
AM
111 100 011 111 111
000 000 000 000 000
110 001 111 111 111
00001101100000 00011
11100000111 11000
00000000000 00011
1111101101011111 1100011
0000000001000...- 0011011
0011100000000 0000011
1100001100011111 1111011
0011100001000000 0000011
1110001111 11100000
0000000000 00100000
0 1110010 00000
709828/0631
Zyklus 8
RS ACSA J RC
Rechts Rechts
Ι11 100 001 100 011 111 111
000 111 000 010 000 000
100 011 111 111
Γ ACSA SUM 00011000110001100000 00011
ACSB ] ACSA CARRY 11001110011100111 11000
(.RMGB
01110000 00011
f ACSB SUI-! ACSC \ ACSB CARRY RMGC
1.11 0100110101101011111 100011
0010110000100001000 011000
0011100000 000011
ACSC SUM ACSC CARRY
1111110110001100011111 111000
0010100000100001000 000011
AM
RS
rc iiinks T
1110000110001111 1011
0011100001000 0111
AM
0001100111010000 .0011
Zyklus 9
AM
RS RC
1111111011000110001111 1000
0010100000100001000 0111
AM
0010011011100111010000 0000
709828/0631
Aus Vorstehendem dürfte ersichtlich sein, wie das System gemäß der vorliegenden Erfindung imstande ist, Multiplikationsoperationen mit hohen Geschwindigkeiten auszuführen, indem eine Vielzahl von Vielfach-Generatorschaltungen in Kombination mit einer entsprechenden Anzahl von Übertragsicherungs-Addiererschaltungen verwendet wird. Unter der Steuerung von Zeitsteuerschaltungen erzeugt das System Gruppen von Vielfachsignalen parallel, während die Übertragsicherungs-Addierernetzwerke zuvor erzeugte und gespeicherte Vielfachsignale zu den Übertragsund Summenkomponenten eines Teilprodukts summieren. Auf diese Weise ist die für die Ausführung eines Multiplikationsbefehls erforderliche Gesamtzeit auf ein Minimum herabgesetzt.
Bei der bevorzugten Ausführungsform ist das System so organisiert, daß der Aufbau mit Stromsteuerungs-Verknüpfungsschaltungen erleichtert ist. Es dürfte jedoch ohne weiteres ersichtlich sein, daß ohne Abweichung von den Lehren der vorliegenden Erfindung eine Vielzahl von Abwandlungen vorgenommen werden kann. So können z.B. Modifikationen bezüglich des Eingangsbereiches zur Anpassung des Systems an Busleitungen mit unterschiedlichen Betriebseigenschaften vorgenommen werden. Außerdem können andere Arten von Steuereinrichtungen ebenfalls verwendet werden. Darüber hinaus kann das System mit verschiedenen Typen von Verknüpfungsschaltungen aufgebaut sein, die so ausgelegt sind, daß sie die angegebenen Funktionen ausführen. Bezüglich der für die einzelnen Bereiche zu verwendenden Bausteine bzw. Baugruppen wird auf die Bücher "Arithmetic Operations in Digital Computers" von R0IC.Richards, (Van Nostrand Publishing Company), "Computer Design Fundamentals" von Chu (McGraw-Hill Book Company, Inc.) und "Pulse, Digital and Switching Waveforms" von Millman & Taub (McGraw-Hill Book Company, Inc.) hingewiesen.
Durch die vorliegende Erfindung ist also eine Multiplikationsanordnung geschaffen, die eine Vielzahl von Vielfach-Genera-
709828/0631
torschaltungen aufweist, die jeweils gleichzeitig Binärsignale zu erzeugen imstande sind, welche kennzeichnend sind für ein bestimmtes Vielfaches eines Multiplikanden, und zwar für unterschiedliche Ziffern einer Gruppe von Multiplikatorziffern. Dabei ist jeweils eine andere der Multiplikator-Generatorschaltungen mit einer anderen Addiererschaltung der in einer Vielzahl vorgesehenen in Reihe geschalteten Addiererschaltungen verbunden, um die Binärsignale zuzuführen. Jede der Vielfach-Generatorschaltungen enthält Speicherschaltungen, die so geschaltet sind, daß sie Zeitsteuersignale von einer gemeinsamen Quelle her aufnehmen, um eine Überlappung in der Erzeugung der binären Vielfachsignale zu bewirken. Auf diese Weise wird die Anzahl der Multiplikationszyklen auf einen minimalen Wert herabgesetzt, die erforderlich sind, um eine Multiplikationsoperation auf Multiplikationsbefehle hin auszuführen.
709828/0631

Claims (25)

Patentansprüche
1. Mit hoher Geschwindigkeit arbeitendes Multiplikationssystem zur Ausführung einer Multiplikationsoperation auf die Aufnahme von Signalen hin, die einem Multiplikator und einem Multiplikanden entsprechen, dadurch gekennzeichnet, daß eine Vielzahl von Vielfach-Generatoreinrichtungen (100) vorgesehen ist, die unterschiedliche Vielfache des genannten Multiplikanden erzeugen und die,jeweils so geschaltet sind, daß sie unterschiedliche Gruppen von Signalen des genannten Multiplikators und des genannten Multiplikanden aufnehmen, daß eine entsprechende Anzahl von in Reihe geschalteten Ebenen von Übertragsicherungs-Addierereinrichtungen (200) vorgesehen ist, die Summen- und Übertragssignale erzeugen, daß die Ebenen der Übertragsicherungs-Addierereinrichtungen (200) mit unterschiedlichen Vielfach-Generatorschaltungen (100) derart verbunden sind, daß zur Erzeugung von Summen- und Übertragssignalen eine Summierung der Reihen der von den betreffenden Generatoreinrichtungen (100) erzeugten Vielfach-Signale erfolgt, daß eine letzte Ebene der Addierereinrichtungen so geschaltet ist, daß sie die Summen- und Übertragssignale an eine erste Ebene der Addierereinrichtungen abgibt, daß Zeitsteuereinrichtungen (400) vorgesehen sind, welche Operationszyklen festlegende Taktsignale in dem Fall erzeugen, daß die genannten Reihen der von den Generatoreinrichtungen (100) erzeugten Vielfachsignale gleichzeitig den genannten Ebenen zugeführt werden, und daß die Zeitsteuereinrichtungen (400) Schaltungseinrichtungen enthalten, welche die genannten Vielfach-Generatoreinrichtungen (100) derart freigebende Taktsignale erzeugen, daß unter Minimierung der Anzahl der zur Ausführung der Multiplikationsoperation erforderlichen Zyklen eine Überlappung in der Erzeugung der genannten Reihen der Vielfachsignale und eine Summierung der Reihen der während vorhergehender Zyklen erzeugten Vielfachsignale erfolgen.
700821/0631
265824S
2. System nach Anspruch 1, dadurch gekennzeichnet, daß mit den übertragsicherungs-Addierereinrichtungen (200) einer letzten Ebene der genannten Ebenen erste und zweite Registereinrichtungen (200-10, 200-12) verbunden sind und daß diese beiden Registereinrichtungen mit der Übertragssicherungs-Addierereinrichtung einer ersten Ebene derart verbunden sind, daß eine Summierung der Übertrags- und Summensignale mit der Reihe der durch eine nächste Gruppe von MultiplikatorSignalen ausgewählten Vielfachsignale erfolgt.
3. System nach Anspruch 2, dadurch gekennzeichnet, daß mit den beiden Registern (200-10, 200-12) ein Addierer (250) verbunden ist, der derart betrieben ist, daß er die während aufeinanderfolgender Zyklen gespeicherten Summen- und Übertragssignale zur Bildung eines Endproduktes summiert.
4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Zeitsteuereinrichtungen (400) eine Betriebsartsteuereinrichtung umfassen, welche Signale erzeugt, die eine Anzeige in dem Fall liefern, daß ein Systembetrieb in einer ersten bzw. zweiten Betriebsart vorliegt, und daß durch die genannten Steuersignale Schaltungseinrichtungen in einec solchen Zustand überführt werden, daß unter Minimierung der zur Ausführung der Multiplikationsoperation dienenden Zeitspanne die Dauer der genannten Zyklen verkürzt wird.
5. System nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß jede Vielfach-Generatoreinrichtung (100) eine Decodereinrichtung enthält, die so geschaltet ist, daß sie eine entsprechende Gruppe der Multiplikatorsignale aufnimmt, daß eine Anzahl von auswählbaren Gatterschaltungen vorgesehen ist, die unterschiedliche Vielfache innerhalb der genannten Reihe der Vielfachsignale erzeugen,
709820/0631
daß jede Gatterschaltung so geschaltet ist, daß sie die Multiplikandensignale aufnimmt,und mit der Decödereinrichtung derart verbunden ist, daß eine Auswahl der Vielfachen in Übereinstimmung mit der genannten Gruppe der Multiplikatorsignale erfolgt, daß eine Vielzahl von Verriegelungsschaltungen vorgesehen ist, die betriebsmäßig mit jeder der Gatterschaltungen derart verbunden sind, daß für ein ausgewähltes Vielfaches charakteristische Signale abgespeichert werden, daß die Vielzahl der Verriegelungsschaltungen mit der Zeitsteuereinrichtung (400) verbunden ist und daß die Vielzahl der Verriegelungsschaltungen der jeweiligen Vielfach-Generatoreinrichtung (100) durch die Taktsignale in einen solchen Zustand überführbar ist, daß die durch ausgewählte Gatterschaltungen erzeugten Vielfache abgespeichert werden.
6. System nach Anspruch 5, dadurch gekennzeichnet, daß der Multiplikator und der Multiplikand jeweils eine bestimmte Anzahl von Ziffern enthalten, daß die Gatterschaltungen jeweils eine Anzahl von Eingangsanschlüssen aufweisen,. welche Anzahl zumindest der um eins vergrößerten Anzahl der Multiplikandenziffern entspricht, daß die Anzahl der Eingangsanschlüsse einer ersten bestimmten Anzahl von Gatterschaltungen so geschaltet ist, daß diese Eingangsanschlüsse Signale entsprechend den Multiplikandenziffern in der aufgenommenen Reihenfolge aufnehmen, und daß die genannte Anzahl der Eingangsanschlüsse einer zweiten bestimmten Anzahl von Gatterschaltungen so geschaltet ist, daß diese Eingangsanschlüsse Signale entsprechend den um ein Bit von der aufgenommenen Reihenfolge verschobenen Multiplikandenziffern aufnehmen.
7. System nach Anspruch 6, dadurch gekennzeichnet, daß die erste und zweite bestimmte Anzahl von Gatterschaltungen
709828/0631
zwei beträgt und daß die von der betreffenden Anzahl von Eingangsanschlüssen jeder der zu der zweiten bestimmten Anzahl von Gatterschaltungen gehörenden Gatterschaltungen aufgenommenen Signale in derselben bestimmten Richtung verschoben sind.
8. System nach Anspruch 7, dadurch gekennzeichnet, daß die genannte selbe bestimmte Richtung durch eine Verschiebung um ein Bit nach rechts gegeben ist und daß die zu der genannten ersten und zweiten bestimmten Anzahl von Gatterschaltungen gehörenden Gatterschaltungen in einem solchen Zustand sind, daß Vielfachsignale an die genannte Vielzahl von Verriegelungsschaltungen entsprechend dem + Einfachen des Multiplikanden bzw. + i/2fachen des Multiplikanden abgebbar sind.
9. System nach Anspruch 8, dadurch gekennzeichnet, daß die verschiedenen Gruppen von Signalen des Multiplikators zumindest einem unterschiedlichen Paar von Multiplikatorbits und dem Multiplikatorbits niedrigster Wertigkeit einer Gruppe von Multiplikatorbits entsprechen, die den Vielfach-Generatoreinrichtungen einer vorhergehenden Ebene zugeführt worden sind, und daß während jedes Operationszyklus eine Anzahl von Multiplikatorziffern verarbeitet wird, die der Anzahl von Ebenen multipliziert mit der Anzahl der Ziffern in der anderen Gruppe von Signalen abzügulich 1 entspricht .
10. System nach Anspruch 9» dadurch gekennzeichnet, daß die genannten Ebenen jeweils unter Bildung eines Feldes verbunden sind, welches so ausgelegt ist, daß die Anzahl der Übertragsicherungs-Addierereinrichtungen der jeweiligen Ebene an jedem Ende um 2 größer ist als die Anzahl der Übertragsicherungs-Addierereinrichtungen in der vorher-
709S28/0831
gehenden Ebene, derart, daß die genannten Vielfachsignale sämtlicher Vielfach-Generatoreinrichtungen den Übertragssicherungs-Addiererschaltungen zum Zwecke der richtigen Erzeugung der Summen- und Übertragssignale des Teilprodukts zuführbar sind.
11. Mit hoher Geschwindigkeit arbeitendes Multiplikationssystem zur Ausführung einer binären Multiplikationsoperation auf Signale hin, die einem Multiplikator und einem Multiplikanden entsprechen, dadurch gekennzeichnet, daß eine Vielzahl von Vielfach-Generatorschaltungen vorgesehen ist, die unterschiedlichen Vielfachen des genannten Multiplikanden entsprechende Signale erzeugen und die jeweils so geschaltet sind, daß sie unterschiedliche Gruppen der Signale des Multiplikators und des Multiplikanden aufnehmen, daß eine entsprechende Anzahl von in Reihe liegenden Ebenen von Sicherungs-Addiererschaltungen vorgesehen ist, die zur Erzeugung von Summen- und ÜbertragsSignalen dienen, daß die Übertragssicherungs-Addiererschaltungen der jeweiligen Ebene mit zumindest einer der Vielfach-Generatorschaltungen derart verbunden sind, daß eine Summierung der Reihen der Vielfachsignale erfolgt, die von den betreffenden Schaltungen erzeugt werden, derart, daß Summen- und Übertragssignale gebildet werden, die kennzeichnend sind für ein Endprodukt, daß eine letzte Ebene der Addiererschaltungen die Summen- und Übertragssignale an eine erste Ebene der Addiererschaltungen abgibt, daß Zeitsteuereinrichtungen (400) vorgesehen sind, die Taktsignale erzeugen, durch welche Zeitintervalle festgelegt·sind, mittels derer die genannten Reihen der von den Generatorschaltungen erzeugten Vielfachsignale gleichzeitig an die Ebenen der Übertragssicherungs-Addiererschaltungen während eines Operationszyklus abgebbar sind, und daß die Zeitsteuereinrichtungen Schaltungseinrichjtungen umfassen, durch
709828/0631
die Taktsignale erzeugt werden, welche die Vielfach-Generatorschaltungen unter Minimierung der zur Ausführung der Multiplikationsoperation erforderlichen Zeitspanne in den Stand versetzen, die Bereitstellung der genannten Reihen der "Vielfachsignale und die Summenbildung der Reihen der Vielfachsignale zu überlappen, die während vorhergehender Zyklen erzeugt worden sind. -
12. System nach Anspruch 11, dadurch gekennzeichnet, daß ein erstes Register (200-12) vorgesehen ist, welches die von der letzten Ebene der Übertragssicherungs-Addiererschaltungen (200-2) aufgenommenen Summensignale zu speichern vermag, daß ein zweites Register (200-10) vorgesehen ist, welches die von der letzten Ebene der Übertragssicherungs-Addiererschaltungen (200-2) aufgenommenen Übertragssignale zu speichern vermag, und daß mit den beiden Registern (200-12, 200-10) Verbindungseinrichtungen verbunden sind, die eine Verbindung zu den Übertragssicherungs-Addiererschaltungen einer ersten Ebene (200-6) herstellen, derart, daß eine Summierung der für ein Teilprodukt kennzeichnenden Übertrags- und Summensignale mit der Reihe der Vielfache erfolgt, die für eine nächste Gruppe von Multiplikatorsignalen erzeugt werden.
13. System nach Anspruch 12, dadurch gekennzeichnet, daß mit den beiden Registern (200-12, 200-10) ein Addierer (250-2) verbunden ist, der die gespeicherten Summen-Übertragssignale während aufeinanderfolgender Zyklen zur Bildung eines Endproduktes summiert.
14. System nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, daß die Zeitsteuereinrichtung (400) eine Betriebssteuereinrichtung umfaßt, welche Signale erzeugt, die kennzeichnend sind für eine erste bzw. zweite System-
709828/0631
betriebsart, und daß durch die genannten Steuersignale Schalteinrichtungen in einen solchen Zustand überführbar sind, daß unter Erhöhung der Frequenz der Taktsignale die zur Ausführung der genannten Multiplütationsoperation erforderliche Zeitspanne minimiert ist.
15. System nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, daß die in einer Vielzahl vorgesehenen Vielfach-Generatorschaltungen jeweils eine Decoderschaltung enthalten, die so geschaltet ist, daß sie eine entsprechende Gruppe der Multiplikatorsignale aufnimmt, daß eine Anzahl von auswählbaren Gatterschaltungen vorgesehen ist, die unterschiedliche Vielfachsignale innerhalb der genannten Reihe der Vielfachsignale erzeugen und die jeweils die Multiplikandensignale aufnehmen und mit der Decoderschaltung derart verbunden sind, daß eine Auswahl in Übereinstimmung mit der genannten Gruppe der Multiplikatorsignale erfolgt, daß eine Vielzahl von Verriegelungsschaltungen vorgesehen ist, die mit den Gatterschaltungen derart verbunden sind, daß für ein ausgewähltes Vielfaches kennzeichnende Signale abgespeichert werden, und daß die genannte Vielzahl der Verriegelungsschaltungen mit den Zeitsteuereinrichtungen verbunden und durch die genannten Taktsignale in einen solchen Zustand überführbar .ist , daß eine Abspeicherung der Vielfachsignale erfolgt, die durch entsprechende Gatterschaltungen zugeführt werden, welche durch die jeweilige Decoderschaltung ausgewählt sind.
16. System nach Anspruch 15, dadurch gekennzeichnet, daß der Multiplikator und der Multiplikand jeweils eine bestimmte Anzahl von Bits umfassen, daß die Gatterschaltungen jeweils eine Anzahl von Eingangsanschlüssen aufweisen, welche Anzahl zumindest um eins größer ist als die Anzahl der Multiplikandenbits, die während der Multiplikations-
709828/0831
operation verarbeitet werden, daß die Anzahl der Eingangsanschlüsse einer ersten bestimmten Anzahl der Gatterschaltungen Signale entsprechend den Multiplikandenbits in der aufgenommenen Reihenfolge aufnimmt und daß die genannte Anzahl der Eingangsanschlüsse einer zweiten bestimmten Anzahl von Gatterschaltungen Signale aufnimmt, die den um eine Bitposition von der aufgenommenen Reihenfolge aus verschobenen Multiplikandenbits entsprechen.
17· System nach Anspruch 16, dadurch gekennzeichnet, daß die erste und zweite bestimmte Anzahl der Gatterschaltungen zwei beträgt und daß die von dieser Anzahl von Gatterschaltungen aufgenommenen Signale in derselben bestimmten Richtung verschoben werden.
18. System nach Anspruch 17, dadurch gekennzeichnet, daß die genannte selbe bestimmte Richtung durch eine Verschiebung nach rechts um eine Bitposition gegeben ist, daß die zu der genannten ersten und zweiten bestimmten Anzahl von Gatterschaltungen gehörenden Gatterschaltungen in einen solchen Zustand versetzbar sind, daß die Vielfachsignale an die genannte Vielzahl der Verriegelungsschaltungen entsprechend dem + Einfachen des Multiplikanden bzw. + i/2fachen des Multiplikanden abgebbar sind, und daß eine weitere Gatterschaltung der auswählbaren Gatterschaltungen in einen solchen Zustand versetzbar ist, daß Vielfachsignale an die genannte Vielzahl der Verriegelungsschaltungen entsprechend dem Nullfachen des Multiplikanden abgebbar sind.
19. System nach Anspruch 15, dadurch gekennzeichnet, daß die zu unterschiedlichen Gruppen von Signalen gehörenden Signale des Multiplikators zumindest einem unterschiedlichen Paar von Multiplikatorbits und dem Multiplikatorbits
709828/0631
niedrigster Wertigkeit derjenigen Gruppe von Multiplikatorbits entsprechen, die der Vielfach-Generatorschaltung einer vorhergehenden Ebene zugeführt worden sind, und daß während jedes Operationszyklus eine Anzahl von Multiplikatorbits verarbeitet wird, welche Anzahl der Anzahl von Ebenen der Übertragssicherungs-Addiererschaltungen multipliziert mit der Anzahl der Bits in der anderen Gruppe von Signalen abzüglich 1 entspricht.
20. System nach Anspruch 19, dadurch gekennzeichnet, daß die genannten Ebenen der Übertragssicherungs-Addiererschaltungen unter Bildung eines Feldes miteinander verbunden sind, welches so ausgelegt ist, daß die Anzahl der Übertragssicherungs-Addiererschaltungen in der jeweiligen Ebene an jedem Ende um 2 größer ist als die Anzahl der Übertragssicherungs-Addiererschaltungen in einer vorhergehenden Ebene, derart, daß die Vielfachsignale von den Vielfach-Generatorschaltungen an die in Frage kommenden Übertragssicherungs-Addiererschaltungen der jeweiligen Ebene zur richtigen Erzeugung der Summen- und Übertragssignale des genannten Endprodukts abgebbar sind.
21. System nach Anspruch 20, dadurch gekennzeichnet, daß die Decoderschaltung der jeweiligen Vielfach-Generatorschaltung auf jede Gruppe der Multiplikatorbits hin in einen solchen Zustand versetzbar ist, daß in Übereinstimmung mit unterschiedlichen Werten der betreffenden Gruppe der Multiplikatorbits Vielfache ausgewählt werden, die folgende Werte besitzen:
Multiplikatorbit- Null Vielfache Wert 1/2 mal Multiplikand 000 1/2 mal Multiplikand 001 1 mal Multiplikand 010 mal Multiplikand 011
709028/0631
Multiplikatorbit-
¥ert Vielfache
100 -1 mal Multiplikand
101 -1/2 mal Multiplikand
110 -1/2 mal Multiplikand
111 Null mal Multiplikand
22. System nach Anspruch 21, dadurch gekennzeichnet, daß eine Übertragerzeugerschaltungseinrichtung vorgesehen ist, die die jeweilige Gruppe der Multiplikatorbits aufnimmt und die Einrichtungen umfaßt, welche mit den Übertragsicherungs-Addiererschaltungen verschiedener Ebenen verbunden sind, und daß die genannten Schaltungseinrichtungen Schaltungen umfassen, welche binäre "1" Eintragsignale für positive Vielfache und binäre "0"-Eintragsignale für negative Vielfache zum Zwecke der Vervollständigung der Summierung der genannten Vielfache erzeugen.
23. System nach Anspruch 20, dadurch gekennzeichnet, daß eine mikroprogrammierte Steuereinrichtung vorgesehen ist, die auf einen eine Multiplikationsoperation angebenden codierten Befehl hin ein Ausgaberegister mit einem ersten Mikrobefehlswort lädt, welches so codiert ist, daß das System in einen Zustand für die betreffende Multiplikationsoperation überführbar ist, daß Registereinrichtungen vorgesehen sind, die die Multiplikatorbits aufnehmen und die mit jeder der Vielfach-Generatorschaltungen verbunden sind, daß Decodereinrichtungen mit den mikroprogrammierten Steuereinrichtungen derart verbunden sind, daß auf das genannte Mikrobefehlswort hin Steuersignale erzeugt werden, daß mit den Decodereinrichtungen und den Registereinrichtungen Zählereinrichtungen verbunden sind, die durch die genannten Steuersignale von den Decodereinrichtungen in
709828/0631
eine erste bestimmte Zählerstellung überführbar sind, welche die Anzahl der Zyklen festlegt und die während jedes Operationszyklus um 1 verkleinerbar ist, und daß die genannten Zählereinrichtungen die genannten Registereinrichtungen in einen solchen Zustand zu überführen gestatten, daß Zahlen unterschiedlicher Gruppen von Multiplikatorsignalen an die Vielfach-Generatorschaltungen während aufeinanderfolgender Operationszyklen solange abgebbar sind, bis die Zählerstellung der genannten Zählereinrichtungen von der genannten ersten bestimmten Zählerstellung auf eine zweite bestimmte Zählerstellung herabgesetzt ist, welche die Beendigung der Verarbeitung sämtlicher Multiplikatorbits anzeigt.
24. Verfahren zur Durchführung einer Multiplikationsoperation mittels einer Vielzahl von in Reihe geschalteten Übertragsicherungsaddierern auf das Auftreten von Signalen hin, die einem Multiplikator und einem Multiplikanden entsprechen, insbesondere bei einem System nach einem der Ansprüche 1 bis 23, dadurch gekennzeichnet,
a) daß während eines ersten Operationszyklus gleichzeitig eine erste Reihe von Signalen erzeugt wird, die durch eine Anzahl der essten Gruppe von Multiplikatorsignalen bestimmten Vielfachen der genannten Multiplikanden entsprechen,
b) daß während eines nächsten Operationszyklus die genannte Reihe der Vielfachsignale gespeichert wird,
c) daß während des nächsten Zyklus unterschiedliche Vielfache der genannten Reihe von Vielfachen an jede der Übertragsicherungs-Addiererschaltungen abgegeben wird und
d) daß während des nächsten Operationszyklus eine zweite Reihe von Vielfachen gleichzeitig erzeugt wird, die
709828/0631
durch eine Anzahl von zweiten Gruppen von Multiplikatorsignalen bestimmt sind, wobei eine Überlappung der Erzeugung der betreffenden Reihen der Vielfachsignale und der Summierung der Reihen der Vielfachsignale mittels der Vielzahl der Übertragssicherungs-Addierernetzwerke unter Minimierung der zur Ausführung der genannten Multiplikationsoperation dienenden Zyklen erfolgt.
25. Verfahren nach Anspruch Zk, dadurch gekennzeichnet, daß die Schritte a) bis d) für jede andere Anzahl von Gruppen von den Multiplikator bildenden Multiplikatorsignalen wiederholt werden.
709828/0631
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 true DE2658248A1 (de) 1977-07-14
DE2658248C2 DE2658248C2 (de) 1989-03-23

Family

ID=24578274

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762658248 Granted DE2658248A1 (de) 1975-12-22 1976-12-22 Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation

Country Status (7)

Country Link
US (1) US4041292A (de)
JP (1) JPS592054B2 (de)
BE (1) BE849736A (de)
CA (1) CA1080850A (de)
DE (1) DE2658248A1 (de)
FR (1) FR2336734A1 (de)
GB (1) GB1570791A (de)

Families Citing this family (23)

* 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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1524175A1 (de) * 1965-11-03 1972-10-26 Ibm Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen
DE2221692A1 (de) * 1971-05-05 1972-11-09 Rca Corp Photographisches Bildschirmdruckverfahren fuer eine Kathodenstrahlroehre

Family Cites Families (6)

* 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
US3691359A (en) * 1970-07-28 1972-09-12 Singer General Precision Asynchronous binary multiplier employing carry-save addition
FR2175261A5 (de) * 1972-03-06 1973-10-19 Inst Francais Du Petrole
US3761698A (en) * 1972-04-24 1973-09-25 Texas Instruments Inc Combined digital multiplication summation
US3873820A (en) * 1974-01-31 1975-03-25 Ibm Apparatus for checking partial products in iterative multiply operations
US3949209A (en) * 1975-04-04 1976-04-06 Honeywell Information Systems, Inc. Multiple-generating register

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1524175A1 (de) * 1965-11-03 1972-10-26 Ibm Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen
DE2221692A1 (de) * 1971-05-05 1972-11-09 Rca Corp Photographisches Bildschirmdruckverfahren fuer eine Kathodenstrahlroehre

Also Published As

Publication number Publication date
JPS592054B2 (ja) 1984-01-17
BE849736A (fr) 1977-04-15
FR2336734B1 (de) 1983-03-18
FR2336734A1 (fr) 1977-07-22
DE2658248C2 (de) 1989-03-23
JPS5279741A (en) 1977-07-05
US4041292A (en) 1977-08-09
CA1080850A (en) 1980-07-01
GB1570791A (en) 1980-07-09

Similar Documents

Publication Publication Date Title
DE2658248A1 (de) Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation
DE2724125C2 (de)
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE2803425A1 (de) Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken
DE2018452A1 (de) Arithmetische Einrichtung
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE1114050B (de) Elektronischer Gleitkomma-Rechner
DE3447634C2 (de)
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE2732008A1 (de) Einrichtung zur reduzierung von fibonacci-p-codes auf die minimalform
DE2830334A1 (de) Multipliziereinrichtung
DE1051030B (de) Elektronische Multiplikationsmaschine
DE1123496B (de) Elektronische Multiplikations- und Divisionseinrichtung
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE1449564C3 (de) Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden
DE19635111A1 (de) Multiplizierer
DE2337356C3 (de) Im Dualsystem arbeitende Multiplizierschaltung
DE2902488C2 (de)
DE19514739C2 (de) Multipliziereinrichtung
DE1549461A1 (de) Divisionseinrichtung
DE1303692C2 (de) Binaerrechner
DE1774338A1 (de) Rechenanlage

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee