DE2830334A1 - Multipliziereinrichtung - Google Patents

Multipliziereinrichtung

Info

Publication number
DE2830334A1
DE2830334A1 DE19782830334 DE2830334A DE2830334A1 DE 2830334 A1 DE2830334 A1 DE 2830334A1 DE 19782830334 DE19782830334 DE 19782830334 DE 2830334 A DE2830334 A DE 2830334A DE 2830334 A1 DE2830334 A1 DE 2830334A1
Authority
DE
Germany
Prior art keywords
address
bits
multiplier
terminals
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
DE19782830334
Other languages
English (en)
Other versions
DE2830334C2 (de
Inventor
David E Cushing
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 DE2830334A1 publication Critical patent/DE2830334A1/de
Application granted granted Critical
Publication of DE2830334C2 publication Critical patent/DE2830334C2/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
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • G06F2207/384Octal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • G06F2207/3844Hexadecimal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3896Bit slicing

Description

Die vor! i oeycnde Erfindung betrifft eine Einrichtung zum Multiplizieren nach dem Gattungsbegriff des Anspruches 1 und insbesondere eine Einrichtung zur Durchführung von Gleitkomma-Operationen hinsichtlich von in binärcodierter Form vorliegenden Zahlen unter Verwendung von Mikaroprozessorchips mit mehreren Speicherplätzen.
Im Stand der Technik sind verschiedene Arten zur Ausführung von Multiplikationen bekannt , die die anfängliche Erzeugung eines Bruchteiles der Gesamtanzahl der Teilvielfachen eines Operanden, die Speicherung derselben und die Erzeugung der verbleibenden Vielfachen aus ausgewählten Kombinationen der zuvor gespeicherten Vielfachen umfassen. Die US-PS 3.293.419 zeigt eine Einrichtung dieser Art.
Durch die UG-PS 3.641.331 ist eine Einrichtung bekanntgeworden, die eine vorbestimmte Anzahl von Vielfachen erzeugt und speichert und die restlichen Vielfachen durch Ausführung einer einzigen Operation mit einem ausgewählten zuvor gespeicherten Vielfachen erzeugt. Während diese bekannte Einrichtung relativ einfach aufgebaut ist und die für die /uisführung der Multiplikation erforderliche Zeit auf ein Minimum reduziert, eignet sie sich nicht für einen Aufbau in hochintegrierter oder teilweise integrierter Schaltungsbauweise.
Bestimmte Halblciterhersteller haben jedoch Standard-Mikroprozessorchips entwickelt, durch die die Kosten zum Aufbau von mit hoher Geschwindigkeit arbeitenden Recheneinheiten beträchtlich reduziert wurden. Beispielsweise hat die Firma Advanced Micro Devices Inc. eine bipolare 4 Bit-Mikroprozessoreinheit auf einem Chip entwickelt, die die Typ-Nr. AM29O1 aufweist. Diese Chips ermöglichen es bei einer Parallelschaltung , eine bitweise Multiplikation auszuführen. Eine solche Anordnung ist in einer Veröffentlichung mit dem Titel "4 Bit Expandable Bipolar Microcontroller 57Ο1/67ΟΊ" von Monolithic Memories Inc., erschienen im Mai 1974 beschrieben. Derartige Anorndungen, die durch die Anzahl der parallel verarbeitbaren Multiplikatorbits beschränkt sind,
8 0 9884/0993
ORIGINAL INSPECTED
erfordern einen Betrieb mit Geschwindigkeiten, die geringer als diejenigen der zuvor beschriebenen Anordnungen sind. Um die Anzahl der Multiplikatorbits, die auf einmal verarbeitet vier den können, zu vergrößern, wäre es erforderlich, diese Chips zu modifizieren und die Anzahl der Anschlüsse zu erhöhen , was zu einer Erhöhung der Chipkosten führen würde.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Multiplikationseinrichtung der eingangs genannten Art so auszubilden, daß unter Verwendung von Standard-Mikroprozessorchips während der Ausführung einer Multiplikation alle Vielfachen eines Multiplikanden innerhalb kürzester Zeit erhalten werden können, wobei diese Fließkomma-Multiplikation außer mit hoher Geschwindigkeit auch mit niedrigen Kosten zu verwirkliehen ist. Die Lösung dieser Aufgabe gelingt gemäß der im Patentanspruch 1 gekennzeichneten Merkmale. Weitere vortei3.hafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Gemäß der vorliegenden Erfindung ist eine Anzahl von Multibit-LSI-Mikroprozessorchips hintereinander in vertikalen Einheiten angeordnet« Jeder.Chip umfaßt eine arithmetische Logikeinheit (ALU) und einen Speicher mit wahlfreiem Zugriff (RAM). Die arithmetischen Logikeinheiten werden benutzt, um eine vorbestimmte Anzahl von Teilvielfachen eines Mantissenteils einer Gleitkommazahl zu erzeugen, wobei die Teilvielfachen in dem Chip-Speicher gespeichert werden. Die erzeugten und gespeicherten Teilvielfachen entsprechen allen möglichen Werten jener Multiplikator-Ziffernpositionen, die für die Auswahl der Teilvielfachen während der Multiplikation benutzt werden.
In dem bevorzugten Ausführungsbeispiel wählen insbesondere in den Chips enthaltene Auswahlschaltkreise die am wenigsten signifikanten Bitpositionen von drei aufeinanderfolgenden Multiplikatorziffern zum Auslesen eines Teilvielfacheii aus den Chip-Speichern aus. Basierend auf solchen Ziffern speichern die. Chip-
809884/0993
Speicher das 0-fache, das 1-fache, das 10—fache, das 11-fache, das 100-fache/ das 101-fache, das 110-fache und das 111-fache des Multiplikanden. Das ausgewählte Teilvielfache wird zu einem zuvor in dem Chip-Speicher durch die arithmetische Logikeinheit gespeicherten Teilprodukt summiert, um das endgültige Produkt zu erzeugen. Danach werden die Bits des Multiplikators und des Teilproduktes um eine Bitposition für die Auswahl eines nächsten Teilvielfachen verschoben.
Durch die Auswahl eines vorbestimmten Bits einer Anzahl von aufeinanderfolgenden Multiplikatorziffern müssen die dem Teilprodukt entsprechenden Bits nur um eine Bitposition verschoben werden, wodurch die Geschwindigkeit der Multiplikation erhöht wird. Durch die Anordnung gemäß dem bevorzugten Ausführungsbeispiel werden ferner die Kosten vermindert, da die Verschiebung mit'Vorteil von der 1 Bit-Verschiebemöglichkeit Gebrauch macht, die in jedem Mikroprozessorchip vorgesehen ist. In gleicher Weise ergeben sich Vorteile hinsichtlich des Multiplikators, da die MuI--tiplikatorbits nur um eine Bitposition zwecks Auswahl eines nächsten Teilvielfachen verschoben werden müssen.
Da die Multiplikation der am wenigsten signifikanten Bits der Multiplikatorziffern zuerst stattfindet, können sowohl die Bits des Teilproduktes als auch des Multiplikators in der gleichen Richtung verschoben werden. Hierdurch wird ebenfalls die Multiplikation vereinfacht und die Rechengeschwindigkeit erhöht.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei die Erfindung im folgenden näher beschrieben. Es zeigen:
Fig. 1 ein Blockdiagramm eines Systems, das die erfindungsgemäße Einrichtung verwendet.
Fig. 2 ein Blockdiagramm eines Gleitkommaprozessors gemäß Fig. 1, der die erfindungsgemäße Einrichtung enthält.
809884/0993
Fig. 3 ein Blockdiagramm der crfindungsgemäßen Einrichtung.
Fig. 4 in Blockform den Mikroprozessor chip, wie er beim Aufbau des bevorzugten erfinäungsgemäßen Ausführungsbeispiels verwendet wird.
Fig. 5 den Mikroprozessorchip gemäß Fig. 4 in näheren Einzelheiten und die Einrichtung gemäß Fig. 3.
Fig. 6 die Zuteilung des Registerspeicherplatzes für die Mikroprozessorchips gemäß Fig. 3.
Fig. 7 das Format der Mikrobefeh.lsworte , die in den Steuerspeicherabschnitten gemäß Fig. 2 enthalten sind.
Fig. 8 bis 10 die durch die Einrichtung gemäß Fig. 2 während der Ausführung einer Multiplikation erzeugten und gespeicherten Werte.
Fig. 11 ein im Zusammenhang mi,t den Fig. 8 bis 10 verwendetes Flußdiagramin zur Erläuterung der Wirkungsweise der vorliegenden Erfindung.
In Fig. 1 ist ein System dargestellt, das die erfindungpgemäße Einrichtung verwendet. Eine Hauptsammclschiene 10 verbindet einen Hauptspeicher 30, eine Zentraleinheit 20, einen Gleitkomma-Befehls-■ prozessor 40 (SlP) und verschiedene periphere Steuerungen , wie beispielsweise die Steuerung 50 , die den Betrieb einer Anzahl peripherer Geräte 52 steuert. Irgendeines der an die Sammelschiene 10 angeschlossenen Geräte kann den Hauptspeicher 30 oder irgendeine andere an die Sammelschiene angeschlossene Einheit adressieren. Die Sammelschiene 10 umfaßt eine Anzahl von Steuerleitungen, Adreßleitungen und Datenleitungen für die Übertragung von Befehlen und Daten. Zwecks weiterer Information bezüglich der Wirkungsweise des Systems gemäß Fig. 1 sei auf die US-PS 3.993.981 verwiesen.
Fig. 2 zeigt in Blockdiagrammform die Hauptabschnitte des Gleitkomma-Befehlsprozessors 5IP-4O, die zu der vorliegenden Erfindung gehören. Es ist erkennbar, daß der Gleitkomma-Befehlsprozessor
809884/0993
SIP--4O einen Sammelscliienen-Steuerabschnitt 40-2, einen Registerabschnitt 40-4, einen Steuerspeicherabschnitt 40-6, einen Verschiebelogik-ßchaltkreisabschnitt 40-7 und einen Mikroprozessorabschnitt 40-8 aufweist.
Sammelschienen-Steuerabschnitt 40-2
Der Abschnitt 40-2 umfaßt Sammelschienen-Anforderungslogikschaltkreise und Sammelschienen-Antwortlogikschaltkreise des Blockes 40-20 und des Blockes 40-22. Diese Schaltkreise befähigen den Befehlsprozessor SIP-4O zum Nachrichtenaustausch über die Sammelschiene 10 unter der Steuerung des Abschnittes 40-6.
Registerabschnitt 40-4
Der Abschnitt 40-4 umfaßt mehrere Register 40-40 bis 40-48, die in dar dargestellten Weise miteinander verbunden sind. Vier dieser Register 40-40, 40-42, 40-44 und 40-48 liefern Eingangssignale an Testlogikschaltkreise eines Blockes 40-66 des Abschnittes 4O~6. Das Register 4O-4Q ist ein 6 Bit-Register, das einen Funktionscode speichert, der an die Adreßleitungen der Sammelschiene 10 während eines Eingabe- oder Ausgabe-Sammelschienen-Operationszyklus angelegt wird. Danach prüft der Befehlsprozessor SIP 4O unter Mikroprogrammsteuerung den Inhalt des Registers 40-40 durch die Testlogikschaltkreise 40-66 und bearbeitet die vorgegebene. Anweisung. Die ausgewählten Mikroprogrammroutinen legen fest, welche Information zu übertragen ist, und sie steuern die Übertragung dieser Information zwischen der Sammelschiene 10 und den verschiedenen Registern, Sammelschienen und Abschnitten des Befehlsprozessors SIP-40. Das Adreßregister 40-42 ist ein 22 Bit-Register, das normalerweise für die Speicherung einer Hauptspeicher-Operandenadresse benutzt wird, die über die Adreßleitungen der Sammelschiene 10 empfangen wird, wenn der Befehlsprozessor SIP-40 eine Ausgabeanweisung von der Zentraleinheit CPU-20 annimmt. Wie hier erläutert, wird das Adreßregister 40-42 während einer Multiplizieroperation als Zähler benutzt. Dies
309884/0993
283Q334
bedeutet, daß bestimmte Bitpositionen erhöht werden und unter Mikroprogrammsteuerung auf spezifische Zählstände geprüft werden.
Das nächste Register 40-44 (task-register) ist ein 12 Bit-Register, das benutzt wird, um ein erstes Wort eines über die Datenleitungen der Sammelschiene 10 empfangenen Gleitkommabefehls zu speichern, wenn der Befehlsprozessor SIP-40 eine Ausgabeanweisung von der Zentraleinheit CPÜ-20 annimmt. Der Prozessor SIP-40 decodiert unter Mikroprogrammsteuerung das erste Befehlswort über die in dem Block 40-64 für die Erzeugung der nächsten Adresse enthaltenen Schaltkreise und erzeugt die Startadresse der für die Verarbeitung dieses Befehls erforderlichen Mikroprogrammroutine. . Ferner werden bestimmte Bits dieses Registers benutzt, um festzulegen, welches Gleitkomma-Akkumulatorregister zu benutzen ist. Beispielsweise legen die Bitpositionen 2 und eine Verwendung des Gleitkomma-Akkumulatorregisters als eine A-Operandenquelle/Resultatempfänger für den laufenden Befehl fest. Die Bitpositionen 14 und 15 des Task-Registers legen das Gleitkomma-Akkumulatorregister fest, das als B-Operand (effektive Adresse) für den laufenden Befehl verwendet wird.
Das Modusregister 40-48 ist ein 8 Bit-Register, das die von der Zentraleinheit CPÜ-20 erhaltene Information speichert. Die Information wird anfänglich von den Datenleitungen der Sammelschiene 10 empfangen und in das Sammelschienen-Datenregister 1 40-46 geladen. Danach*wird der Inhalt des Registers 40-46 über die Abschnitte 40-8 und 40-7 übertragen und in das Register 4O-48 geladen. Die Information wird benutzt, um die Bearbeitung jener Mikrobefehlsfolgen zu steuern, die auf die Operandenlängen oder auf Abrundungs/Abtrennungs-Verfahren der Operation ansprechen. Da dies nicht zum Verständnis der vorliegenden Erfindung gehört, sei dieses Register nicht weiter erläutert.
Die mit BDi und BD2 bezeichneten Sammelschienen-Datenregister 40-46 und 40-47 sind 16 Bit-Register, die benutzt werden, um
8 0 98B4/0993
über die Datenleibungen der Sammelschiene 10 empfangene Information zu speichern. Das Register 40-46 nimmt normalerweise Daten auf, die sich aus einer Einselwortoperation ergeben (z.B. Befehlswort von der Zentraleinheit CPU-20), während das Register 40-47 normalerweise Daten aufnimmt, die sich aus Doppelwortoperationen ergeben (zweites Wort einer doppelten ganzen Zahl von der Zentraleinheit CPU-20).
Steuerabschnitt 40-6 und Mikrobefehlsformat
Der Steuerabschnitt 40-6 umfaßt einen Steuerspeicher 40-60, der aus 1024 Festwert-Speicherplätzen (ROS) aufgebaut ist, wobei jeder Speicherplatz 64 Bit aufweist. Ein internes ROS-Register 40-62 dient der Speicherung eines Mikrobefehlswortes, das während eines OperationsZyklus aus dem Steuerspeicher 40-60 ausgelesen wird. Subanweisungs-Erzeugungsschaltkreise 40-63 decodieren und verteilen die Steuersignale an die verschiedenen Teile des Befehlsprozessors SIP-40. Der Steuerabschnitt 40-6 weist ferner Erzeugungsschaltkreise 40-64 für die nächste Adresse sowie Testlog.ikßchaltkreise 40-66 auf. Wie hier erläutert, erzeugen die Schaltkreise 40-64 normalerweise die Adresse des nächsten Speicherplatzes in Funktion eines Nächst-Adressenfeldes des Mikrobefehlswortes und in Funktion von Ausgangssignalen der Testlogikschaltkreise 40-66. Dies bedeutet, daß die Testlogikschaltkreise 40-66 eine von 64 möglichen Testbedingungen basierend auf der Codierung eines anderen Feldes des Mikrobefehlswortes auswählen. Die im Zusammenhang mit dem Nächst-Adressenfe.ld erzeugten Ausgangssignale werden benutzt, um die nächste Adresse zu bilden.
Ferner erzeugen die Schaltkreise 40-64 die nächste Adresse für den Start-Speicherplatz des Mikroprogramms zur Verarbeitung des Befehls durch Decodierung des in dem Task -Register 40-44 9e~ speicherten Befehlswortes. Für die Zwecke der vorliegenden Erfindung können die Testlogikschaltkreise 40-66 und die Adressenerzengungsschaltkreise 40-64 einen herkömmlichen Aufbau aufweisen,
8 0 9884/0993
Beispielsweise können sie einen Aufbau gemäß der US-PS 3.909.800 besitzen.
Die verschiedenen erwähnten Felder sind in dem Format des Mikrobefehlswortes gemäß Fig. 7 dargestellt. Unter kurzer Bezugnahme auf diese Figur ist ersichtlich, daß jedes Mikrobefehlswort 19 unterschiedliche Felder aufweist, die mit DA bis CK bezeichnet sind. Diese Felder werden wie folgt benutzt:
1. Das Direktadressenfeld (DÄ-Feld) umfaßt die Bits 0-3 des Mikrobefehlswortes. Dieses Feld liefert eine direkte Adresse, die benutzt wird, um einen der 16 Akkumulatoreil innerhalb des Gleitkommaspeichers auszuwählen.
2. Das A-Auswahlfeld (AS-FeId) umfaßt die Bits 4 und 5 des Mikrobefehlswortes, und es wird benutzt, um auszuwählen, welcher der vier Eingänge der A-Adressenmultiplexerschaltkreise 40-840 auszuwählen ist.
3. Das B-Auswahlfeld (BS-FeId) umfaßt die Bits 6 und 7 des Mikrobefehlswortes und wird benutzt, um auszuwählen, welcher der vier Eingänge für die B-Adressenmultiplexerschaltkreise 40-842 zu verwenden ist.
4. Das Exponentenquellenfeld (ES-FeId) umfaßt die Bits
9 - 31 des Mikrobefehlswortes und steuert die Additions-Eingangsmultiplexer für die Bits 56 bis 63 des Fließkommawortes (z.B. den Exponententeil des Wortes). Daher legt das ES-FeId die Operandenquelle für die A- und B-Eingänge der jeder Exponentenziffer zugeordneten Addiereinheit fest.
5. Das Mantissenquellenfeld (MS-FeId) umfaßt die Bits 13 bis 15 des Mikrobefehlswortes und steuert die Additions-Eingangsmultiplexer für die Bits 0 bis 55 des Fließkommawortes (z.B. den Mantissenteil des Wortes). Das MS-FeId bestimmt daher die Operandenquelle für die A- und B-Eingänge der einer jeden Mantissenziffer zugeordneten Addiereinheit.
609884/0993
6. Deis externe SaTnmelschienenfunktionsfeld (BF-FeId) umfaßt die Bits 16 bis 19 des Mikrobefehlswortes und wird benutzt, um verschiedene Prozessoroperationen zu steuern, die der externen Sammelschiene (Schnittstelle) zugeordnet sind.
7. Das Verschiebesteuerfeld (SC-FeId) umfaßt die Bits
21 bis 23 des Mikrobefehlswortes und wird benutzt, um die Art der durch die Multiziffer-Verschiebeschaltkrej.se ausgeführten Operationen zu steuern.
8. Das Exponentenfunktionsfeld (EF-FeId) umfaßt die Bits
25 bis 27 des Mikrobefehlswortes. Diese drei Bits liefern die Steuerung für alle Operationen innerhalb der arithmetischen Logikeinheit, die jeder Exponentenziffer zugeordnet ist (z.B. die Bits 56 - 63 des Fließkominawortes) .
9. Das Mantissenfunktionsfeld (MF-FeId) umfaßt die Bits
29 - 31 des Mikrobefehlswortes. Diese drei Bits erzeugen die Steuerung für alle Operationen innerhalb der arithmetischen Logikeinheit, die jeder Mantissenziffer zugeordnet sind (z.B die Bits 0-55 des Fließkommawortes).
10. Das Testbed'ingungsfeld (TC-FeId) umfaßt die Bits 32-35 des Mikrobefehlswortes. Dieses Feld wird zusammen mit einem Verzweigungsmaskierungsfeld (BM-FeId) benutzt, um die spezifische Testfunktion auszuwählen, die bei der Erzeugung der nächsten Steuerspeicheradresse benutzt wird.
11. Das Verzweigungsmaskierungsfeld (BM-FeId) umfaßt die Bits 36-33 des Mikrobefehlswortes. Wie erwähnt, wird dieses Feld zusammen mit dem TC-FeId benutzt, um die spezifische Testfunktion auszuwählen, die bei der Erzeugung der nächsten Adresse benutzt wird.
809884/0993
12. Das Exponentenbestimmungsfeld (ED-FeId) umfaßt die Bits
41 - 42 des Mikrobefehlswortes. Dieses Feld steuert die drei Gruppen von Multiplexern, die dem Exponententeil des Fließkommawortes (z.B. den Bits 56 - 63) zugeordnet sind, und steuert dadurch alle Datenbewegungen und Verschisbeoperationen innerhalb der Recheneinheit ALU des Mikroprozessors (Exponentenziffern).
13. Das Mantissenbestimmungsfeld (MD-Feld)umfaßt die Bits 45 - 47 des Mikrobefehlswortes. Dieses Feld steuert die drei Gruppen von Multiplexern, die dem Mantissenteil des Fließkommawortes (z.B. den Bits 0-55) zugeordnet sind, wodurch alle Datenbewegungen und Verschiebeoperationen innerhalb der Recheneinheit ALU des Mikroprozessors gesteuert werden (Mantissenziffern) .
14. Das Allgemeinzweckfeld (GP-FeId) umfaßt die Bits 48 - 53 des Mikrobefehlswortes. Das GP-FeId wird benutzt, um entweder Konstanten oder SIP-Subanweisungen zu erzeugen, was von dem Zustand des Bits 48 abhängt (z.B. Bit 48 = "1" - Erzeugung von Subanweisungen, Bit 48 = "0" - Erzeugung von Konstanten).
15. Das Nächstadressenfeld (NA-FeId) umfaßt die Bits 54-63 des Mikrobefehlswortes und definiert die nächste Folgeadresse.
16. Das Matrixsteuerfeld (MC-Feld) umfaßt die Bits 8 und 12 des Mikrobefehlswortes. Diese Bits legen die Verschiebequelle (Verschiebezählstand) für den Matrix-Verschiebeschaltkreis fest.
17. Das Teilfeld (SP-FeId) umfaßt das Bit 20 des Mikrobefehlswortes, wobei dessen Verwendung nicht zu der vorliegenden Erfindung gehört.
18. Das Übertragsfeld (CI-FeId) umfaßt die Bits 24 und 28 des Mikrobefehlswortes. Diese Bits liefern die Ubertragseingänge für den Exponenten- und Mantissenteil des Fließkommawortes.
19. Das Taktsteuerfeld (CK-FeId) umfaßt die Bits 40 und 44 des Mikrobefehlswortes und gibt die Steuerspeicher-Zykluszeit vor,
809884/0993
- 1
Mikroprozessorabschnitt 40-8
Dieser Abschnitt umfaßt eine Mikroprozessoreinheit 40-80 und A- und B-Adressenmultiplexerschaltkreise des Blockes 40-84 sowie eine Anzahl von Übertragserzeugungsschaltkreisen des Blockes 40-82. Der Abschnitt 40-80 besteht aus 16 LSI-Mikroprozessorchips, die in Fig. 3 mit 40-800 bis 40-832 bezeichnet sind. In einem bevorzugten Ausführungsbeispiel entsprechen die Chips dem Typ 2901 der Firma Advanced Micro Devices Inc. Jeder solcher in Fig. 4 in Blockform dargestellter Chip verarbeitet 4 Bit. Sechzehn solche Chips sind gemäß Fig. 3 miteinander verbunden, um eine 64 Bit-Mikroprozessoreinheit zu bilden. Wie hier erläutert, speichern und verarbeiten die ersten 14 Chips entsprechend den Bits 0-55 Mantissenwerte einer Fließkommazahl, während die nächsten zwei Chips den Exponentenwert der Fließkommazahl speichern und verarbeiten. Die gesamten 16 Chips werden benutzt, um Teilvielfache in der noch zu erläuternden Weise zu erzeugen und zu speichern.
Gemäß Fig. 2 ist der Mikroprozessorabschnitt 40-80 horizontal in eine Anzahl von RAM-Verschiebe- und Multiplexerabschnitte, Q-Vorschiebe- und Q-Registerabschnitte, Gleitkommaspeicherabschnitte, Auswahlabschnitte, arithmetische Logikabschnitte (ALU) und Ausgangsmultiplexerabschnxtte unterteilt. Fig. 5 zeigt in näheren Einzelheiten die Abschnitte eines jeden Chips. Zusätzlich umfassen die RAM-Verschiebe- und Multiplexerabschnitte zwei 64 Bit-Multiplexerschaltkreise, die sowohl für Verschiebeoperationen als auch für normale Datenübertragung benutzt v/erden, Das heißt, daß diese Schaltkreise eine direkte Datenübertragung oder eine von links nach rechts - Datenverschiebung vor dem Laden in die Speicherabschnitte erzeugen.
Gemäß Fig. 3 sind die Verschiebeverbindungen zwischen den die Mantissenwerte speichernden Chips gemäß der vorliegenden Erfindung in einer vorbestimmten Weise angeordnet. Das heißt, daß
809884/0993
der Q3-Ver8ohiebeausgang eines jeden Chips mit dem Qo-Eingang eines jeden dritten Chips verbunden ist. Zum Beispiel ist der Ausgang Q3 des Chips 1 mit dem Eingang Qo des Chips 4 verbunden. Dies ermöglicht die Rechtsverschiebung von 8 Bitpositionen (2 hexadezimale Ziffern) innerhalb eines einzigen Verschiebezyklus. Die Verschiebeverbindungen zwischen den die Exponentenwerte speichernden Chips sind in einer ähnlichen Weise angeordnet.
Der Q-Verschiebe- und Q-Registerabschnitt umfaßt einen 64 Bit-Multiplexerschaltkreis und ein 64 Bit-Q-Register für die Speicherung der Bits des Multiklikators. Der 64 Bit-Multiplexer gestattet eine direkte Übertragung oder eine Verschiebung von links nach rechts der Multiplikatorbits vor dem Laden in das Q-Register,
Die Gleitkommaspeicherabschnitte enthalten 16 Speicherplätze mit 64 Bit, wobei auf zwei getrennte Speicherplätze der 16 Speicherplätze gleichzeitig zugegriffen werden kann, um sowohl einen A- als auch einen B-Operanden zu liefern. Wie noch erläutert wird, werden die Speicherplätze durch die A- und B-Adressenmultiplexerschaltkreise des Blockes 40-84 adressiert. Die Speicherplätze 1, 2 und 3 dienen als Gleitkommaakkumulatoren SA1, SA2 und SA3, während die verbleibenden Speicherplätze für die temporäre Speicherung benutzt werden. Die Zuteilung eines jeden Speicherplatzes erfolgt gemäß Fig. 6. Der Akkumulator SA1 wird mit dem Multiplikanden geladen, während der Akkumulator SA2 mit dem Multiplikator durch Befehle in herkömmlicher Weise geladen wird. Die Datenbits der ersten beiden Worte (32 Bits) eines 4 Wort-Operanden, der über die Datenleitungen der Sammelschiene 10 durch die Zentraleinheit CPU-10 zugeführt wird, werden in die Sammelschienen-Datenregister 40-46 und 40-47 geladen. Der Dateninhalt der ersten beiden Worte dieser Register, der an eine Eingangssammelschiene angelegt wird, wird durch die Verschiebelogikschaltkreise 40-70 des Abschnittes 40-7 ohne Verschiebung übertragen und an die Ausgangssammelschiene angelegt. Von dort werden die ersten beiden Worte durch die arithmetische Logikeinheit geschoben und in einem der Akkumulatorspeicherplätze des Gleitkommaspeicherabschnitts gespeichert.
909884/0993
Die nächsten baiden Worte des von der Zentraleinheit CPU-10 empfangenen 4 Wort-Operanden werden zu den Verschiebelogikschaltkreisen 40-7o übertragen und um 32 Bitpositionen durch den Verschiebeabschnitt 40-7 verschoben. Die zweiten beiden Worte werden danach durch die arithmetische Logikeinheit durchgeschoben und in dem gleichen AkkumulatorSpeicherplatz gespeichert. Das Modusregister 40-48 ist in bestimmten Bitpositionen auf vorbestimmte Zustände gesetzt, um dem Befehlsprozessor SIP-40 die Länge des gespeicherten Operanden anzuzeigen (z.B., daß der spezielle Akkumulatorspeicherplatz einen 4 Wort-Operanden gespeichert hat).
Gemäß Fig. 6 dient der Speicherplatz,ein die Adresse O1fi zugeordnet ist/ anfänglich als temporärer Akkumulator und speichert als solcher den 56 Bit-Mantissenwert und den 8 Bit-Exponentenwert des Multiplikators während der Teilvielfachen-Erzeugung. Der Exponentenwert ist normalerweise in Exzeß 64-Form dargestellt und besitzt einen Bereich von +63^0 bis -64lQ. Bei der Ausführung binärer arithmetischer Operationen mit Operanden kann der Befehlsprozessor SIP-40 bei diesen Operationen als eine hexadezimale Recheneinheit angesehen werden.
Die Zugehörigkeit zwischen Exponentenwerten in Exzeß 64-Form und in Binärform läßt sich durch folgende Tabelle darstellen:
Binärform ' Exzeß 6 4-Form
0111 ITII2 = 127 (0)011 1111 = 63
0100 0000 = 64 - (0)000 0000 = O
0011 1111 = 63 (1)111 1111 = 1
0000 0000 =0 (1)011 1111 = -64
Die ( ) gibt das Vorzeichenbit vor, wobei 1 = minus und 0 = plus ist.
809884/0993
Es sei'darauf verwiesen, daß durch die Exzeß 64-Form das Erfordernis für ein Exponentenvorzeichen eliminiert wird. Da jedoch die Multiplikator- und Multiplikandenexponenten zusammen addiert werden können, was zu einem resultierenden Produktexponenten von Exzeß 128 führt, wird es erforderlich, den Wert 64.. von dem Multiplikator-Exponentenwert zu subtrahieren.
Gemäß Fig. 6 ist ersichtlich, daß die mit den Adressen 1 und 31(- versehenen Speicherplätze als Gleitkommaakkumulatoren SA1, SA2 und SA3 dienen. Die mit den Adressen 0Λα, 4.,-., 5Λ£, 6AC und
IG Ib Ib Tb
7.jg versehenen Speicherplätze dienen als Arbeitsakkumulatoren und gehören nicht zu der vorliegenden Erfindung. Die mit den Adressen 8.jg bis f - g bezeichneten Speicherplätze speichern Teilvielfache der Multiplikandenmantisse. Insbesondere speichert der mit der Adresse 8^g bezeichnete Speicherplatz als Teilvielfach das 0-fache (xO) der Mantisse bzw. 56 Binärwerte mit dem Wert "O".
Der mit der Adresse 9-g bezeichnete Speicherplatz speichert ein Teilvielfach mit einem Wert, das dem 1-fachen des Multiplikanden (Mantisse) entspricht. Wie hier erläutert, werden jedoch die Teilvielfachen von den 56 Bit-Multiplikandenwerten erzeugt, die in 64 Bit-Registern gespeichert sind, wobei die 8 Bit-Positionen des Exponenten nicht benutzt werden. Dies liefert eine erhöhte Genauigkeit und eliminiert zusätzliche Verschiebeoperationen. Dies bedeutet, daß bei einer Speicherung des 56 Bit-Multiplikanden in dem 64 Bit-Registerspeicherplatz die beiden zusätzlichen Ziffernpositionen tatsächlich den Wert eines solchen Multiplikanden um 100 erniedrigen. Das Teilvielfach 1 entspricht somit einem Wert des 0,01-fachen des Multiplikanden, was in Fig. 6 angezeigt ist. Der durch die Adresse 91g bezeichnete Speicherplatz speichert somit den Mantissenwert des Multiplikanden verschoben um zwei hexadezimale Ziffern (8 Bit ) nach rechts.
9884/0993
Der durch, die Adresse a,~ bezeichnete Speicherplatz speichert ein Teilvielfaches mit einem Wert entsprechend dem 10-fachen der Multiplikandenmantisse. Bei einer Speicherung in dem festgelegten 64 Bit-Speicherplatz besitzt jedoch dieses Teilvielfache einen Wert entsprechend dem 0,10-fachen des Multiplikanden, was in Fig.6 angezeigt ist. Anders ausgedrückt speichert der durch die Adresse a.g bezeichnete Speicherplatz den Mantissenwert des Multiplikanden verschoben um eine hexadezimale Ziffer (4 Bit) nach rechts. Der durch die Adresse b.g bezeichnete Speicherplatz speichert ein Teilvielfaches mit einem Wert entsprechend dem 11-fachen der Multiplikandenmantisse. Bei einer Speicherung in dem festgelegten 64 Bit-Speicherplatz besitzt dieses Teilvielfache einen Wert entsprechend dem 0,1-1-fachen des Multiplikanden, was in Fig. 6 gezeigt ist. Dieser Speicherplatz speichert somit ein Teilvielfaches mit einem Wert entsprechend der Summe der Teilvielfachen an den durch die Adressen 9^6 und a..g festgelegten Speicherplätzen.
Der durch die Adresse c,g festgelegte Speicherplatz speichert ein Teilvielfaches mit einem Wert entsprechend dem 100-fachen der Multiplikandenmantisse. Bei einer Speicherung in dem festgelegten 64 Bit-Speicherplatz besitzt dieses Teilvielfache einen Wert entsprechend dem 1,00-fachen des Multiplikanden. Dieser Speicherplatz speichert somit ein Teilvielfaches entsprechend der Multiplikandenmantisse. Der nächste durch die Adresse d16 festgelegte Speicherplatz speichert ein Teilvielfaches mit einem Wert entsprechend dem 101-fachen des Multiplikanden. Bei einer Speicherung in dem festgelegten 64 Bit-Speicherplatz besitzt dieses Teilvielfache einen Wert gemäß dem 1,01-fachen des Multiplikanden. Dieser Speicherplatz speichert somit ein Teilvielfaches mit einem Wert entsprechend der Summe der Teilvielfachen an den durch die Adressen 9^6 und c.g festgelegten Speicherplätzen .
809884/0993
Gemäß Fig. 6 speichert der durch die Adresse e.. ß festgelegte nächste Speicherplatz ein Teilvielfaches mit einem Wert entsprechend dem 11O-fachen der Multiplikandenmantisse. Bei einer Speicherung in dem festgelegten 64 Bit-Speicherplatz besitzt dieses Teilfache einen Viert entsprechend dem 1,10-fachen des Multiplikanden. Dieser Speicherplatz speichert somit ein Teilvielfaches mit einem Wert entsprechend der Summe der Teilvielfachen an den durch die Adressen C1 fi und a..,- festgelegten Speicherplätzen. Der letzte durch die Adresse f^ festgelegte Speicherplatz speichert ein Teilvielfaches mit einem Viert entsprechend dem 111-fachen der Multiplikandenmantisse. Bei einer Speicherung in dem festgelegten 64 Bit-Speicherplatz besitzt dieses Teilvielfache einen Wert entsprechend dem 1,11-fachen des Multiplikanden. Dieser Speicherplatz speichert somit ein Teilvielfaches mit einem Wert entsprechend der Summe der Teilvielfachen an den durch die Adressen 9^6 und e.g festgelegten Speicherplätzen.
Die signifikanteste Bitposition der Adressen 8^6 bis f^6 wird auf den Binärwert "1" gesetzt, um die Adressierung der oberen 8 Speicherplätze zu ermöglichen, wobei das Setzen in herkömmlicher Weise erfolgt und nicht zu der vorliegenden Erfindung gehört. Die drei niedrigrangigen Adreßbits werden jedoch dem Multiplikator entnommen und den A- und B-Adressenmultiplexerschaltkreisen des Adressenabschnittes 40-9 gemäß Fig. 2 zugeführt.
Die Auswahlabschnitte umfassen zwei 64 Bit-Verriegelungen, 16 Paare von 2 zu 1-Dateneingangsmultiplexern und 16 3 zu 1-Dateneingangsmultiplexern. Die Dateneingangsmultiplexer gestatten die Zuführung von Datensignalen zu den arithmetischen Logikeinheiten von der Ausgangssammelschiene über Eingangsanschlüsse DO bis D3, die beiden Verriegelungen und das Q-Register. Die beiden Verriegelungen speichern die aus den Gleitkoinmaspeicherabschnitten ausgelesenen Datensignale, um sicherzustellen, daß ausreichend Zeit für die Ausführung paralleler Operationen während der Lese- und Ausgäbeoperationen verfügbar ist.
8098 8 4/099 3
Die ALU-Abschnitte führen alle normalen arithmetischen und logischen Operationen aus. Diese Operationen -umfassen die über-, tragserzeugung, den überlauf, das Ergebnisvorzeichen, und die Feststellung des Binärwertes "O" in allen Positionen sowie die 1 er-Kornxjlement- und die 2er-Komplementbildung. Wie erläutert, sind die Eingangs-Bitsignale 13 bis 115 des Steuerspeichers 40-60 codiert,, um festzulegen, welche Operation aus den möglichen drei binären arithmetischen Operationen und fünf logischen Operationen auszuführen ist. Gemäß Fig. 3 bilden die Signale der Übertragserzeugungs (G^- und Übertragsfortpflanzungsanschlüsse eines jeden der Chipabschnitte zusammen mit den Übertragserzeugungs-Chipschaltkreisen 4O-82a bis 4O-82g des Blockes 40-82 Vorgriffsschaltkreise, welche festlegen, wann die dem Übertragseingang (CN) zugeführten Signale durch die verschiedenen Chipabschnitte fortzupflanzen sind. Im Hinblick auf die vorliegende Erfindung können die Vorgriffsschaltkreise des Blockes 40-82 einen herkömmlichen Aufbau aufweisen und beispielsweise aus dem integrierten Schaltkreis gemäß dem Typ SN74S182 bestehen.
Die Ausgangs-Multiplexerabschnitte umfassen einen 64 Bit-Multiplexer. Dieser Multiplexer nimmt entweder Daten direkt von den Gleitkommaabschnitten über eine der Verriegelungen oder von der arithmetischen Logikeinheit ALU auf. Der Multiplexer liefert Ausgangssignale an die Eingangesammeischiene zur Verteilung an die verschiedenen Abschnitte des Befehlsprozessors SIP-40. Der letzte Abschnitt 40-^84 umfaßt gemäß Fig. 3 einen A-Adressenmultiplexerschaltkreis 40-840 und einen B-Adressenmultiplexerschaltkreis 40-842. Diese Schaltkreise liefern A-Auswahladressen mit 4 Bit und B-Auswahladressen mit 4 Bit, die den Eingangsanschlüssen A0-A4 und B0-B4 eines jedeh der Chipabschnitte gemäß Fig. 3 zugeführt werden. Die A-Auswahladresse ruft das Auslesen des 64 Bitinhalts eines ausgewählten Speicherplatzes hervor, der als ein A-Operandeneingang der Recheneinheit ALU zur Verwendung oder zur Verteilung als Ausgangssignal zugeführt wird.
809884/0993
Vier Gruppen von Eingangssignalen, die dem A-Adressenmulti- . plexerschaltkreis 40-840 zugeführt werden, umfassen Bits 0-3 des Steuerspeichers 40-60, Multiplikatorsignale MLTSSO1O-MLT3S21O, Bitsignale 2 und 3 von dem Task-Register 40-44 und Bitsignale 14 und 15 von dem Task-Register 40-44. Die Steuerbits 4 und 5 geben aufgrund ihrer Codierung vor, welcher der vier Gruppen von Eingängen bei der Erzeugung der Ä-Auswahladreßsignale, die den Eingängen A0-A3 zugeführt werden, zu benutzen sind. Die Steuerspeicherbits 0-3 adressieren durch ihre Codierung direkt einen der 16 Gleitkommaspeicherplätze.
Die Signale MLTSS010-MLTSS210 entsprechen den Signalen, die von den Bitpositionen 47, 51 und 55 des Q-Registers den Verschiebe-Ausgangsanschlüssen der Chipabschnitte 12, 13 und 14 in Fig. zugeführt werden. Diese Bitpositionen speichern die drei signifikantesten Bits dreier aufeinanderfolgender Multiplikatorζiffern, die verwendet werden, um das geeignete Teilvielfache aus den Gleitkommaspeicherplätzen mit den Adressen 8-f gemäß der vorliegenden Erfindung auszuwählen. Das Signal MLTSSOlO entspricht dem signifikantesten Bit der drei Teilvielfach-Auswahlbits (lOOer-Position), Das Signal MLTSS110 entspricht dem nächst signifikantesten Bit der drei Teilvielfach-Auswahlbits (10er-Position) und das Signal MLTSS210 entspricht dem am wenigsten signifikanten Bit der drei Teilvielfach-Auswahlbits (1er-Position).
Die Bits 2 und 3 des Task-Registers werden benutzt, um einen der drei Gleitkomma-Akkumulatorspeicherplätze mit den Adressen 1 bis 3 zu adressieren, wobei diese Speicherplätze benutzt werden, um den Α-Operanden oder Ergebnisdaten zu speichern. Die Bits 14 und 15 des Task-Registers werden benutzt, um einen anderen der drei Gleitkomma-AkkumulatorSpeicherplätze zu adressieren, wobei diese Speicherplätze benutzt werden, um B-Operanden-Ursprungsdaten zu speichern.
809884/0993
Die B-Auswahladresse veranlaßt das Auslesen des 64 Bit-Inhalts des ausgewählten Speicherplatzes und das Anlegen als B-Operand für die Benutzung durch die arithmetische Logikeinheit ALU oder für die Ausgabe als ein Ausgangssignal. Die vier Gruppen von an den B-Adressenmultiplexerschaltkreis 40-482 angelegten Eingangssignalen umfassen Steuerspeicherbits 6 und 7, Steuerspeicherbitn 60 bis 63, Task-Register-ßitsignale 2 und 3 und Taks-Register-Bitsignale 14 und 15. Die letzten zwei Gruppen von Eingangssignalen führen die gleichen Operationen aus, wie sie zuvor im Hinblick auf den A-Adressenmultiplexerschaltkreis 40-480 aufgezeigt wurden. Die Steuerspeicherbits 6 und 7 geben durch ihre Codierung vor, welche Gruppe von Eingangssignalen bei der Erzeugung ler B-Auswahladreßsignale, die an die Eingänge B0-B3 angelegt werden, zu benutzen ist. Die Steuerspeicherbits 60-63 adressieren aufgrund ihrer Codierung irgendeinen der 16 Gleitkommaspeicherplätze.
Verschiebelogik-Schaltkreisabschnitt 40-7
Dieser Abschnitt wird benutzt, um entweder den Exponenten- oder Mantissenteil einer Fließkommazahl vor oder während der Bearbeitung eines Gleitkommabefehls zu verschieben. Wie aus Fig. 3 erkennbar, umfaßt dieser Abschnitt vier 16x16-Mehrziffer-Verschiebematrixchips 40-7Oa bis 40-7Ob und Logikschaltkreise des Blockes 40-72. Die Verschiebeschaltkreise können im Hinblick auf die vorliegende Erfindung als herkömmlich angesehen werden. Beispielsweise können sie gemäß der US-PS 3.818.203 ausgebildet sein.
Die Dateneingangsleitungen IO bis 115 der Verschiebematrixchips 40-7Oa bis 40-7Od sind an die Eingabesammeischiene für die Aufnahme von Datenbits (Exponent- oder Mantissenteil ) der zu verschiebenden Zahl angeschlossen. Die spezielle Art der auszuführenden Operation (z.B. Verschiebung, arithmetische Rechtsrotiarung) ist durch die Codierung der Steuerspeicherbits 21 bis 23 festgelegt, die den Funktions-Eingangsanschlüssen S0-S1 und RO-R1 der Matrixverschiebechips 40-7Oa bis 40-7Od zugeführt werden.
8 0 9884/0993
Gemäß Fig. 3 weist jeder Matrixverschiebechip eine Gruppe von Verschiebe-Eingangsanschlüssen DO-D3 auf, die die Verschiebung der Bits von den Daten-Eingabeleitungen IO bis 115 zn einer Gruppe von Daten-Ausgabeleitungen OO bis 015 (z.B. von der Eingangssammelschiene zu der Ausgangssammelschiene) steuern. Es sei beispielsweise angenommen, daß die Steuerspeicherbits 21 bis aufgrund ihrer Codierung den Wert 110 aufweisen (Bechtsverschiobuncf) und der Verschiebewert aufgrund seiner Codierung den Wert 0001 (Einzelzahlverschiebung) aufweist, Bei diesen Bedingungen wird das an den Eingangsanschluß IO angelegte Bit (z.B. das Bit 0) um eine Bitposition verschoben und an dem Ausgabeanschluß 01 ausgegeben. Da jedoch der Ausgabeanschluß 01 dem Ausgangssammelschienenbit 4 entspricht, wird das Bit 0 um vier Bits oder eine hexadezimale Zahl verschoben, wie da.es durch den Verschiebe-Codewert von 0001 (siehe Fig. 5) gefordert wird.
Die Schaltkreise des Blockes 40-72 erzeugen die codierten Verschiebewerte. Während solche Schaltkreise Multiplexerchips herkömmlicher Bauart für die Auswahl von Signalen von anderen Signalquellen aufweisen, sind der Einfachheit halber nur die Kon-•stanten-Generatorschaltkreise 40-720 dargestellt. Die die Signale liefernden anderen Signalquellen können beispielsweise durch Detektorschaltkreise zum Feststellen anfänglicher Binärwerte "0" für Standardisierungsoperationen, durch Detektorschaltkreise zum Feststellen der Exponentendifferenz usw. vorgegeben sein. Die Schaltkreise 40-72 umfassen einen Festwertspeicher (ROM)-Funktionen/Konstanten-Generatorschaltkreis 40-720, der für die vereinfachte Erläuterung direkt an die Verschiebeschaltkreise angeschlossen ist.
Signale des Steuerspeichers 40-60 werden den Eingangsschaltkreisen des ROM-Schaltkreises 40-720 zugeführt. Der Schaltkreis 40-720 kann einen herkömmlichen Aufbau aufweisen und erzeugt eine Konstante entsprechend einem Verschiebezählstand, die festlegt,
809884/0993
wie viele Ziffernverschiebungen (Mantissenziffern) durch die Verschiebeeinrichtung 40-70 auszuführen sind. Der ROM-Schaltkreis 40-720 kann daher als Wandler angesehen werden, der die an seine Eingangsschaltkreise angelegten Signale in Verschiebezählstände umwandelt. Der aus dem Schaltkreis 40-720 herausgelesene Verschiebezählstand wird den Anschlüssen DO-DO der Verschiebematritzen 40-7oa bis 4O-7Od zugeführt.
Mikroprozessorchip
Der beim Aufbau der Mikroprozessorabschnitte gemäß den Fig. 2 und 3 benutzte Chip sei nunmehr anhand der Fig. 4 und 5 in näheren Einzelheiten erläutert. Gemäß Fig. 4 ist ersichtlich, daß jeder Chip 38 Stiftanschlüsse aufweist, die Anschlüsse OE und CP für die Aufnahme einer Freigabespannung und eines Taktsignales umfassen. Die mit D0-D3 bezeichneten Stiftanschlüsse empfangen Datensignale von der Ausgangssammelschiene. Die Stiftanschlüsse P und G legen Ausgangssignale an eine der Stufen der Übertrags-Vorgriff sschaltkreise an. Der Übertrags-Eingangs-Stiftanschluß CN erhält ein Eingangssignal von den erwähnten Vorgriffsschaltkreisen zugeführt. Ein Übertrags-Ausgangs-Stiftanschluß CN + e wird nicht benutzt.
Der Verschiebeausgangs/Verschiebeeingangs-Stiftanschluß RFO erhält ein Eingangssignal von dem Verschiebeausgangs/Verschiebeeingangs-Stiftanschluß RF., eines vorausgehenden Chips zugeführt. Der Q-Verschiebeausgang/Verschiebeeingang-Stiftanschluß QO erhält ein Eingangssignal von dem Q-Verschiebeausgang/Verschiebeeingang-Stiftanschluß Q3 eines vorhergehenden Chips zugeführt. Der Überlauf-Stiftanschluß OVF, der Funktion-Signalnull-Stiftanschluß F=O und der Ausgangs-Stiftanschluß FO für das signifikanteste Bit liefern zusätzliche Hinweise , die für die vorliegende Erfindung ohne Bedeutung sind.
609884/0 99
Die Stiftanschlüsse YO-Y3 liefern Äusgangssignale an die Verschiebematrixchipswährend die Stiftanschlüsse 10-18 Steuersignale zugeführt erhalten, die durch die Steuerspe.icher-Mikrobe·- fehlsfelder MSr MF und MD bzw. ES, EF und ED für die Mantissenziffer bzw. Exponentenziffer entsprechend erzeugt werden. Die Stiftanschlüsse A0-A3 und B0-B3 werden wie zuvor erwähnt mit den Α-Auswahl- und B-Auswahl-Adreßsignalen der Schaltkreise des Blockes 40-84 beaufschlagt.
Gemäß Fig. 5 ist erkennbar, daß jeder Chip, wie er durch den Chip 2 dargestellt ist, einen 16x4 Bit-Wort-Speicher 40-918 mit wahlfreiem Zugriff und eine arithmetische Hochgeschwindigkeits-Logikeinheit 40-902 aufweist. Unter der Steuerung der 4 Bit-Adresse, die an die Stiftanschlüsse A0-A3 angelegt wird, wird der Inhalt irgendeiner der 16 Wort-Speicherplätze zu einer Gruppe von Α-Anschlüssen ausgelesen. In gleicher V7eise wird unter der Steuerung der 4 Bit-Adresse, die an die Stiftanschlüsse B0-B3 angelegt wird, der Inhalt irgendeiner der gleichen 16 Wort-Speicherplätze an einer Gruppe von B-Anschlüssen ausgelesen.
.Bei Freigabe durch ein an den Eingang RAMEN durch die ALU-Bestimmungsdecodierschaltkreise' des Blockes 40-926 angelegtes Signal werden neue Datensignale, die über einen Multiplexerschaltkreis 40-920 mit drei Eingängen angelegt werden, in den durch die B-Auswahladreßsignale definierten Wortspeicherplatz eingeschrieben. Die Eingänge des Multiplexerschaltkreises 40-920 sind so verbunden, daß sie eine Rechtsverschiebung der Signale an den Ausgangsklemmen F0-F4 der Recheneinheit ALU 40-902 um eine Bitposition, oder eine Linksverschiebung dieser Signale um eine Bitposition bzw. überhaupt keine Verschiebung unter der Steuerung der Schaltkreise des Blockes 40-916 vor dem Einschreiben in den festgelegten Speicherplatz gestatten.
809884/0993
Die A-Ausgangnanschlüsse und B-Ausgangsanschlüsse sind mit der Gruppe von Α-Verriegelungen und der Gruppe von B-Verriegelungen entsprechend verbunden. Diese Verriegelungen speichern die dorthin übertragenen Signale während des Intervalles, während dem das dem Takteingang CP zugeführte Signal den Binärwert "O" aufweist. Dies unterdrückt die Möglichkeit irgendwelcher Wettbewerbszustände, die während des Intervalles auftreten könnten, wenn neue Daten in dem Speicher RAM-918 einzuschreiben sind. Die arithmetische Logikeinheit ALU, die durch die an die Stiftanschlüsse 13-15 angelegten und durch die Schaltkreise des Blockes 40-906 decodierten Signale vorbereitet wird, ist in der Lage, irgendeine der drei binären arithmetischen oder der fünf logischen Operationen mit den beiden 4 Bit-Eingangssignalen auszuführen, die an die R-Operanden und S-Operanden-Eingangsanschlüsse angelegt werden. Den R-Operanden-Eingangsanschlüssen werden Signale direkt von den Stiftanschlüssen D0-D3 oder von den A-Verriegelungen 40-916 über einen Multiplexerschaltkreis 40-908 mit zwei Eingängen zugeführt.
Den S-Operanden-Eingangsanschlüssen werden Signale von den A-Verriegelungen 40-916, den B-Verriegelungen 40-914 oder von dem Q-Register 40-922 über einen Multiplexerschaltkreis 40-910 mit drei Eingängen zugeführt. Die Multiplexer 40-908 und 40-910 werden durch die an die Stiftanschlüsse 10-12 angelegten Signale gesteuert, die durch die Operanden-Decodierschaltkreise des Blockes 40-912 decodiert werden. Die Stiftanschlüsse D0-D3 werden benutzt,um Datensignale in die Arbeitsregister des Chips zu laden und den Inhalt der RAM-Speicherplätze zu modifizieren. Das Q-Register 40-922 ist ein 4 Bit-Register, das - wie zuvor erwähnt - benutzt wird, um den Multiplikator während der Multiplikation zu speichern.
Die an den Anschlüssen P0-P3 vorliegenden ALU-Ausgangssignale werden einem Eingang eines Ausgangsmultiplexerschaltkreises 40-904 mit zwei Eingängen, einem Eingang des Eingangsmultiplexer-
8 0 9884/0993
schaltkreis 40-920 mit drei Eingängen und einem Eingang des Multiplexerschaltkreises 4O*-924 mit drei. Eingängen, dem das Q-Register 40-922 zugeordnet ist, zugeführt. Die tatsächliche Bestimmung Cz·B. Datenausgabe an den Stiftanschlüssen YO-Y3, Eingabe in den RMI 40-918 oder das Q-Register 40-922) wird aufgrund der an die Stiftanschlüsse I6-I8 angelegten Signale ausgewählt, die durch die Schaltkreise des Blockes 40-926 decodiert werden.
Der Multiplexerschaltkreis 40-904 wird benutzt, um an dem A-Anschluß des RAM 40-918 ausgelesenen Signale bzw. Signale an den Ausgangsanschlüssen PO-F4 der Logikeinheit ALU 40-902 auszuwählen. Die Auswahl erfolgt unter Steuerung der an die Stiftanschlüsse 16-18 angelegten Signale. Wie zuvor erwähnt, liefert der Multiplexerschaltkreis 40-920 Eingangssignale von drei Quellen, die die Logikeinheit ALU 40-902 umfassen.
Hierdurch kann der Äusgangswert der arithmetischen Logikeinheit ALU unverschoben gespeichert werden, um eine Position nach rechts verschoben werden (Multiplikation mit 2 ) oder um eine Position nach links verschoben werden (Division durch 2). Es sei darauf verwiesen, daß die Verschiebeschaltkreise die Stiftanschlüsse RFO und RF3 umfassen, die an die Puffer-Treiberschaltkreise 40-934 und 40-936 entsprechend angeschlossen sind. Im Linksverschiebemodus wird der Treiberschaltkreis 40-934 betätigt und der RFO-Multiplexereingang freigegeben. Im Rechtsverschiebeinodus wird der Treiberschaltkreis 40-936 betätigt und der RF3-Multiplexereingang freigegeben. Im NichtverSchiebemodus werden sowohl die Treiberschaltkreise 40-934 als auch 40-936 nicht betätigt und die erwähnten Multiplexereingänge werden nicht ausgewählt. Die Auswahl der Operationen schreitet unter der Steuerung der an die Stiftänschlüsse I6-I8 angelegten Signale fort.
809884/0993
In ähnlicher Weise ist das Q-Register 40-922 ebenfalls an den Multiplexerschaltkxeis 40-924 mit drei Eingängen angeschlossen, der ebenfalls Verscliiiebesclxaltkreise enthält. Dies gestattet die Speicherung der ALU-Ausgangssignale im unverschobenen Zustand/ im um eine Bitposition nach rechts verschobenen Zustand (Multiplikation mit 2) oder im um eine Bitposition nach links verschobenen Zustand (Division durch 2). Die Verschiebeschaltkreise umfassen Stiftanschlüsse QO und Q3, die an die Puffer-Treiberschaltkreise 40-932 und 40-930 entsprechend angeschlossen sind. Im Linksverschiebemodus wird der Pufferschaltkreis 40-932 betätigt und der QO-Multiplexereingang freigegeben. Im Rechtsverschiebemodus wird der Pufferschaltkreis 40-930 betätigt und der Q3-Multiplexereingang freigegeben. Im Nichtverschiebemodus werden beide Pufferschaltkreise 40-932 und 40-930 nicht betätigt und die erwähnten Multiplexereingänge v/erden nicht ausgewählt. Erneut erfolgen die Verschiebeoperationen unter der Steuerung der an die Stiftanschlüsse I6-I8 angelegten Signale. Datensignale werden in das Q-Register 40-922 unter der Steuerung der an den Takteingang-Stiftanschluß CP angelegten Signale gesteuert.
Fig. 5 veranschaulicht ferner die Art und Weise/ in der die Ausgangs-Stiftanschlüsse YO - Y3 des Chips 2 mit verschiedenen Eingangsanschlüssen eines jeden der Mehrpositions—Verschiebeschaltkreischips 40-7Oa bis 40-7Od über die Eingangssammelschiene verbunden sind. Ferner zeigt Fig. 5 die Verschiebeschaltkreis-Stiftverbindungen von der Ausgangssammelschiene zu den Dateneingangs-Stiftverbindungen D0-D3 des Chips 2.
Beschreibung der Wirkungsweise
Anhand der Fig. 1-7, den beispielhaften Werten gemäß den Fig. 8-10 und dem Flußdiagramm gemäß Fig. 11 sei im folgenden die Wirkungsweise der vorliegenden Erfindung beschrieben. Vor der Erläuterung eines Beispieles ist es von Vorteil/ die Art und Weise der Ausführung einer Fließkommamultiplikation kurz zu erläutern. Wie zuvor erwähnt, weisen alle Zahlen in binärer
8O9884/Ö9Ö3
Fließkommadarstellung eine Mantisse auf, die kleiner als eins ist und einen Exponenten auf, der den Teil der Zah.1 darstellt, welcher ihre Größe anzeigt. Wie zuvor erwähnt, erstreckt sich in dem vorliegenden System der Bereich, der Exponenten von +6 bis -64^q.
Für Zahlen größer als eins wird die binäre Kommastelle nach links bewegt (z.B. Division durch 2) bis sich die am weitesten links befindliche binäre 1 rechts von der binären Konmastelle befindet. Für Zahlen, die bereits Bruchteile darstellen, wird die binäre Kommastelle nach rechts bewegt (z.B. Multiplikation mit 2) bis die erste binäre 1 angetroffen wird. In solchen Fällen sind alle Zahlen Bruchteile größer oder gleich einhalb aber kleiner als 1 und werden als "normiert" bezeichnet.
Im vorliegenden System wird angenommen, daß die zu multiplizierenden Zahlen in normierter Form vorliegen. Die Art und Weise der Normierung (z.B. Vornormierung oder Nachnormierung) kann als herkömmlich angesehen werden und gehört nicht zum Verständnis der vorliegenden Erfindung. Zur weiteren Erläuterung der Normierung sei auf das Kapitel 15 des Buches "The Logic of Computer Arithmetic" von Ivan Flores, erschienen bei Prentice-HaIl Inc., Copyright 1963, verwiesen.
Es sei angenommen, daß die Zentraleinheit CPÜ-20 einen Gleitkommabefehl an den Befehlsprozessor SIP-4O überträgt, der durch seine Codierung eine Multiplikation vorgibt. Aufgrund des in das Task-Register 40-44 geladenen Befehls, führt der Prozessor SIP-40 jene Operationen aus, wie sie zum Abruf und zur Speicherung normierter Multiplikanden- und Multiplikatorwerte erforderlich sind.
Es sei in dem Beispiel angenommen, daß der Multiplikandenwert in hexadezimaler Form gemäß Fig. 8 anfänglich in dem 64 Bit·- Akkumulatorspeicherplatz SA1 des Gleitkommaspeichers gespeichert
8 0 9884/0993
ist, während der Multiplikatorviert in hexadezimaler Form gemäß Fig. 8 anfänglich in dem Akkumulatorspeicherplatz SA2 gespeichert ist. Das Laden der Gleitkommaakkumulatoren SA1 und SA2 erfolgt in bekannter Weise, wie zuvor erwähnt wurde.
Bei dem hier gegebenen Beispiel stellen sich die Werte des Multiplikanden und des Multiplikators gemäß Fig. 8 folgendermaßen dar:
Mantisse Exponent
Multiplikand = ' .621073 CC
Multiplikator = D2A9 A4.
Andere Speicherplätze entsprechend den Adressen 8-F speichern in hexadezimaler Form die Werte von Teilvielfachen , die in der zu erläuternden Weise von dem Multiplikanden erzeugt werden und während der Bearbeitungsphase der Multiplikationsoperation benutzt werden. Alle Werte liegen in normierter Form vor.
Fig. 9 veranschaulicht die Werte von Teilprodukten und von Endprodukten, die in dem temporären Akkumulatorspeicherplatz des Gleitkommaspeicherplatzes während der Multiplikationsoperatiori gespeichert sind. Fig. 10 veranschaulicht die Multiplikator- und Teilvielfach-Ziffernwerte, die während der Multiplikationsoperation in dem Q-Registerabschnitt gespeichert sind. Dieses Register speichert ferner die Exponentenwerte und wird bei derartigen Berechnungen benutzt. Wie erläutert, wird das Q-Register bei der Erzeugung von Teilvielfachen benutzt.
Es sei nunmehr auf das Flußdiagramm gemäß Fig. 11 Bezug genommen. In dieser Figur sind schematisch die während der verschiedenen Zykleii der Operation ausgeführten Operationen dargestellt. Die verschiedenen benutzten Abkürzungen und ihre' Bedeutungen sind folgende:
809884/0993
3.S = s ign;
2. M ■■= Mantisse; . .
3.X= Exponent;
4. T = temporäres Register mit der
Adresse O;
5. BI = Eingangssammelschiene; 6.BO = Ausgangssammelschiene;
7. (A) = Inhalt des durch die Adresse in der Klammer festgelegten Speicherplatzes.
Während die Übertragungen von Vorzeichen- und Exponentenwerten in dem Flußdiagramm gemäß Fig. 11 dargestellt sind, v/erden sie wegen der einfacheren Erläuterung der Wirkungsweise des bevorzugten Ausführungsbeispieles der vorliegenden Erfindung nicht beschrieben. Darüberhinaus sei darauf verwiesen, daß während der Erzeugung der verschiedenen Teilvielfachen die Vorzeichen- und Exponentenwerte den Binärwert "O" aufweisen. Ferner seien die verschiedenen ALU-, Q-Registerabschnitte usw. kollektiv als ALU, Q-Register usw. zwecks einfacher Erläuterung bezeichnet.
•Gemäß dem Flußdiagramm in Fig. 11 ist ersichtlich, daß der Mikroprozessorabschnitt 40-8 des Befehlsprozessors SIP-40 unter Mikroprogrammsteuerung die Operationen während eines Operationszyklus ausführt, der mit # SML-SA bezeichnet ist. Dies bedeutet, daß der 56 Bit-Mantissenteil des in dem temporären Akkumulator SA1 gespeicherten Multiplikanden durch die A-Adressenmultiplexerschaltkreise 40-480 gemäß Fig. 3 aufgrund des DA-Feldes (0001) eines ersten in das Register 40-62 gemäß Fig. 2 ausgelesenen Mikrobefehlswortes adressiert wird. Gleichzeitig hiermit wird der durch die Adresse C (z.B. 1100) festgelegte Speicherplatz von dem B-Adressenmultiplexerschaltkreis 40-482 aufgrund des NA-Feldes des gleichen Mikrobefehlswortes adressiert.
Der MuItiplikanden-Mantissenteil wird von dem Speicherplatz mit der Adresse 0001 in die Α-Verriegelung (z.B. Verriegelung 40-916 gemäß Fig. 5) ausgelesen. Von dort aus wird er durch die Multi-
809884/0993
plexerschlatkreise rait zwei Eingängen und die Recheneinheit . ALU übertragen und an einen Eingang des Multiplexers mit drei Eingängen angelegt. Danach wird der Mantissenteil in den Speicherplatz mit dar Adresse 1100 (siehe Fig. 5) eingeschrieben. Während dieser Schreiboperation werden die Bitoperationen 56-63 des Speicherplatzes mit der Adresse 1100 auf den Binärwert "O" gesetzt. Hierdurch wird ein Teilvielfaches mit einem Wert entsprechend dem 1,00-fachen der Multiplikandenmantisse (z.B. der 56 Bit-Multiplikand wird mit 100 multipliziert) in dem 64 Bit-Speicherplatz mit der Adresse C (siehe Fig. 8) abgelegt.
Gemäß Fig. 11 wird während des nächsten durch 0 SMC-SA-LLN festgelegten Operationszyklus der Mantissenteil des Multiplikators im Speicherplatz SA2 gemäß Fig. 8 zu dem temporären Akkumulatorspeicherplatz mit der Adresse 0 übertragen. Zuzätzlich wird der Wert von 64 ..„ von dem Exponenten des Multiplikators subtrahiert und das Eergebnis in dem temporären Akkumulatorspeicherplatz gespeichert. Wie zuvor erwähnt, stellt die Subtraktion des Wertes von 641O von dem Exponenten sicher, daß sich der Exponent des Produktes in einer Exzeß 64-Form befindet.
Aufgrund eines weiteren Mikrobefehlswortes legt das DA-FeId eine Adresse von 0010 an die A-Adressenmultiplexerschaltkreise 40-480, während das NA-FeId eine Adresse von 0000 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Hierdurch werden die Multiplikatormantissen- und Exponentenwerte aus dem Akkumulator SA1 in die Α-Verriegelungen ausgelesen. Von dort werden diese Werte über den Multiplexer mit zwei Eingängen in die arithmetische Logikeinheit ALU übertragen.
Der Wert von 64-0 wird unter Mikroprogrammsteuerung von dem Exponentenwert subtrahiert. Die Multiplikatormantisse und die modifizierten Exponentenwerte werden von der Einheit ALu über die Multiplexerschaltkreise mit drei Eingängen zu dem Gleit-
808884/0993
kommaspeicher übertragen und in den temporären Akkumulatorspeicherplatz eingeschrieben. Dies bedeutet, daß der Multiplikator-Mantissenwert in den Bitpositionen 0-53 gespeichert ist und daß das Resultat der Exponentensubtraktion in den Bitpositionen 54-63 des temporären Akkumulatorspeicherplatzes gespeichert ist.
Die Art und Weise der Ausführung der zuvor erwähnten Subtraktion kann als bekannt vorausgesetzt v/erden. Da derartige Operationen nicht zum Verständnis der vorliegenden Erfindung gehören, sei hier nicht weiter darauf eingegangen.
Auf die vorstehenden Operationen folgt ein $ SML~TG-Operationszyklus, wobei der Inh.alt des Speicherplatzes mit der Adresse C um zwei Ziffernpositionen (z.B. 8 Eit) nach rechts verschoben wird, um ein Teilvielfaches entsprechend dem 0,01-fachen des Multiplikanden zu erzeugen (der 56 Bit-Multiplikand wird mit 1 multipliziert) , wobei das Teilvielfache temporär an dem Speicherplatz mit der Adresse e gespeichert wird. Dieser Wert wird bei der Erzeugung der restlichen Teilvielfach-Werte verwendet.
Aufgrund eines weiteren Mikrobefehlswertes legt das DA-FeId eine Adresse von 1100 an die A-Multiplexerschaltkreise 40-480, während das NA-FeId eine Adresse von 1110 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Hierdurch wird der Inhalt der Adresse C (das 1,00-fache der Multiplikandenmantisse) in die A-Verriegelungen über die Multiplexerschaltkreise mit zwei Eingängen 40-908 ausgelesen urid über die Logikeinheit ALU 40-902 und den Ausgangsmultiplexer 40-904 in die Verschiebeschaltkreise 40-7Oa bis 40-7Od gemäß Fig. 5 eingegeben.
Unter der Steuerung des Verschiebesteuerfeldes SC des Mikrobefehlswortes werden die über die Eingangssammelschiene BI angelegten Mantissen- und Exponentensignale 8 Bitpositionen nach recths verschoben (festgelegt durch den Konstantengenerator) und an die Ausgangssammelschiene BO angelegt. Danach v/erden die ver-
8Ö9884/0993
schobenen Mantissen- und Exponentensignale über den Multiplexer— schaltkreis 40-908, die Logikeinheit ALU 40-902 und den Multiplexer 40-920 übertragen und unter der Adresse e eingeschrieben. Durch die vorstehende Maßnahme ergibt sich der Binärwert "0" in den Bitpositionen 0-7 der Chips 40-802 und 40-804 und hinsichtlich der in den Bitpositionen 8-31 der Chips 40-806 bis 40-816 gemäß Fig. 3 gespeicherten Multiplikandenmantisse. Zu diesem Zeitpunkt wird unter der Adresse e der Wert entsprechend dem 0,01-fachen der Multiplikandenmantisse (das 1-fache des Multiplikanden für eine 56 Bit-Mantisse) gespeichert.
Gemäß Fig. 11 beginnt der Mikroprozessorabschnitt 40-8 dec Befehlsprozessors SIP-40 als nächstes mit einem $ SML-TG-1 Operationszyklus. Während dieses Zyklus werden Signale entsprechend dem Inhalt der Adresse c (1,00-fache der Multiplikandenmantisse) um eine Ziffer nach rechts rotiert und unter der Adresse f gespeichert. Hierdurch wird der Wert entsprechend dem 0,10-fachen der Multiplikandenmantisse unter der Adresse f abgelegt. Aufgrund eines weiteren Mikrobefehlswortes legt das DA-FeId eine Adresse von 1100 an die A-Multiplexerschaltkreise 40-480 an, während das NA-FeId eine Adresse von 1111 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Hierdurch wird der Inhalt unter der Adresse c in die Verschiebeschaltkreise 40-7Oa bis 40-7Od gemäß Fig. 5 ausgelesen. Unter der Steuerung des SC-Feldes werden die Mantissen- und Exponentensignale um 4 Bitpositionen nach rechts verschoben und unter der Adresse e eingeschrieben. Die Übertragung erfolgt in der gleichen Weise, wie dies bei dem Zyklus $ SML-TG der Fall war.
Gemäß Fig. 11 tritt der Befehlsprozessor SIP-40 in einen 0 SML-TG-2 Operationszyklus ein, in welchem der Mikroprozessorabschnitt 40-8 Signale entsprechend dem Inhalt unter der Adresse e in die Abschnitte des Q-Registers 40-922 überträgt.
809884/0993
Aufgrund eines weiteren Mikrobefehlsvortes legt das DA-FeId eine Adresse von 1110 an die A-Adressenmultiplexerschaltkreise 40-480. Hierdurch wird der Inhalt unter der Adresse e in die Α-Verriegelungen ausgelesen. Danach wird dieser Inhalt unter Mikroprogrammsteuerung (z.B. durch die an die Stiftanschlüsse 10-18 angelegten Signale ) über die Multiplexerschaltkreise 40-908, die Logikeinheit ALU 40-902 und den Q-Multiplexer 40-924 in das Q-Register 40-922 übertragen. Hierdurch wird der Wert entsprechend dem 0,01-fachen der Multiplikandenmantisse in dem Q-Register abgelegt.
Während des nächsten Zyklus $ SML-TG-3 addiert der Mikroprozessorabschnitt 40-8 des Befehlsprozessors SIP-40 unter Mikroprogrammsteuerung den Inhalt des Q-Registers zu dem Inhalt unter der Adresse f und speichert das Ergebnis unter der Adresse b. Hierdurch wird die Erzeugung des Teilvielfachen vervollständigt, dessen Wert dem 0,11-fachen der Multiplikandenmantisse gemäß Fig. 8 entspricht.
Aufgrund eines weiteren Mikrobefehlswortes legt das DA-FeId eine Adresse von 1111 an die A-Adressenmultiplexerschaltkreise 40-480 an, während das NA-FeId eine Adresse von 1011 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Hierdurch werden Signale entsprechend dem Inhalt unter der Adresse f in die A-Verriegelungen ausgelesen. Danach überträgt der Mikroprozessorabschnitt 40-8 unter Mikroprogrammsteuerung diese Signale über die Multiplexer mit zwei Eingängen und legt diese an den R-0perandeneingangsanschluß der arithmetischen Logikeinheit ALU an. Gleichzeitig werden Signale entsprechend dem Inhalt des Q-Registers über die Multiplexerschaltkreise mit drei Eingängen an den S-Operandeneingangsanschluß der arithmetischen Logikeinheit ALU angelegt. Die Logikeinheit ALU addiert unter Mikroprogrammsteuerung die Operandensignale, und das Ergebnis wird über die Multiplexerschaltkreise mit drei Eingängen übertragen und unter der
809884/0 9 93
- 40 - 283033A
Ad.rRs.se b eingeschrieben. Hierdurch v.rird der Wert entsprechend dem 0,11-fachen der Multiplikandenmantisse unter der Adresse b abgelegt/ wie aus Fig. 8 ersichtlich.
Gemäß Fig. 11 tritt der Befehlsprozessor SIP-40 in einen Operationszyklus 0 SML-TG-4 ein, wobei der Mikroprozessorabschnitt 40-8 Signale entsprechend dem Inhalt unter der Adresse e zu der Adresse 9 überträgt. Hierdurch wird die Erzeugung des Teilvielfachen mit einem Wert entsprechend dem 0,01-fachen der Multiplikandenmantisse (das 1-fache einer 56 Bit-Mantisse) vervollständigt.
Aufgrund eines weiteren Mikrobefehlswortes legt das DA-FeId eine Adresse von 1110 an die A-Adressenmultiplexerschaltkreise 40-480 an, während das NA-FeId eine Adresse von 1001 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Über die zuvor beschriebenen Datenwege überträgt der Mikroprozessorabschnitt 40-8 die Signale entsprechend dem Inhalt unter der Adresse e zu der Adresse 9. Hierdurch wird der Wert entsprechend dem 0,01-fachen der Multiplikandenmantisse unter der Adresse 9 gemäß Fig. 8 abgelegt.
Als nächstes tritt der Befehlsprozessor SIP-40 in einen Operationszyklus # SML-TG-5 ein, in welchem der Mikroprozessorabschnitt 40-8 Signale entsprechend dem Inhalt unter der Adresse f zu der Adresse a überträgt. Dies vervollständigt die Erzeugung des Teilvielfachen mit einem Wert entsprechend dem 0,10-fachen der Multiplikandenmantisse (d.h., das 10-fache einer 56 Bit-Mantisse) .
Aufgrund eines weiteren Mikrobefehlswortes legt das DA-FeId eine Adresse von 1111 an die A-Adressenmultiplexerschaltkreise 40-480 an, während das NA-FeId eine Adresse von lOlO an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Durch die zuvor
809864/0993
beschriebenen. Datenwege überträgt der Mikroprozessorabschnitt 40-8 die Signale entsprechend dem Inhalt unter der Adresse f zu der Adresse a. Hierdurch wird der Wert entsprechend dem 0,10-fachen der Multiplikandenmantisse gemäß Fig. 8 unter der Adresse a abgelegt.
Auf den vorstehenden Zyklus folgt der Operationszyklus $ SML-TG-6. Während dieses Zyklus addiert der Mikroprozessorabschnitt 40-8 den Inhalt des Registers a zu dem Inhalt an der Adresse c und speichert das Ergebnis unter der Adresse d. Dies vervollständigt die Erzeugung des Teilvielfachen mit einem Wert entsprechend dem 1,01-fachen der Multiplikandenmantisse (d.h., das 101-fache einer 56 Bit-Mantisse).
Aufgrund eines weiteren Mikrobefehlswortes legt das DA-FeId eine Adresse von 1100 an die A-Adressenmultiplexerschaltkreise 40-480 an, während das NA-FeId eine Adresse von 1101 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Wie zuvor beschrieben, addiert die arithmetische Logikeinheit ALU des Mikroprozessorabschnittes 40-8 unter Mikroprogrammsteuerung die Signale entsprechend dem Inhalt unter der Adresse c, der an die R-Operandeneingangsanschlüsse angelegt wird, zu den Signalen entsprechend dem Inhalt des Q-Registers, der an die S-Operandeneingangsanschlüsse angelegt wird. Danach wird das Ergebnis an der Adresse b eingeschrieben. Hierdurch wird der Wert entsprechend dem 1,01-fachen der Multiplikandenmantisse an der Adresse d abgelegt, was dem in Fig. 8 gezeigten Wert entspricht.
Gemäß Fig. 11 führt der Mikroprozessorabschnitt 40-8 als nächstes den Operationszyklus 0 SML-TG-7 aus. Während dieses Zyklus wird der Inhalt unter der Adresse d zu dem Inhalt unter der Adresse f addiert und das Ergebnis wird an der Adresse f eingeschrieben. Dies vervollständigt die Erzeugung des Teilvielfachen mit einem Wert entsprechend dem 1,11-fachen der Multiplikandenmantisse (d.h.., das Hd-fache einer 56 Btt-Mantisse).
809884/0993
Aufgrund eines nächsten MikrobefehIswortes legt das DA-FeId eine Adresse von 1101 an die A-Adressenmultiplexerschaltkreise 40-480 an, während das NA-FeId eine Adresse von 1111 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Wie zuvor erwähnt, ruft das vorstehende Mikrobefehlswort eine Addition der Signale entsprechend dem Inhalt der Adresse c zu den Signalen entsprechend dem Inhalt unter der Adresse f hervor, wobei diese Signale an die Operandeneingänge der arithmetischen Logikeinheit ALU angelegt werden. Danach wird das Ergebnis unter der Adresse f eingeschrieben. Hierdurch wird der Wert entsprechend dem 1,11-fachen der Multiplikandenmantisse an der Adresse f abgelegt, was in Fig. 8 dargestellt ist.
Der Mikroprozessorabschnitt 40-8 tritt als nächstes in einen Operations^yklus $ SML-TG-8 ein, während welchem er den Inhalt des Q-Registers von dem Inhalt unter der Adresse f subtrahiert und das Ergebnis unter der Adresse e abspeichert. Dies vervollständigt die Erzeugung des Teilvielfachen mit einem Wert entsprechend dem 1,10-fachen der Multiplikandenmantisse (d.h. das 110-fache einer 56 Bit-Mantisse), wodurch die Erzeugungsphase des Teilvielfachen bei der Multiplikation beendet wird.
Aufgrund eines nächsten Mikrobefehlswortes legt das DA-FeId eine Adresse von 1111 an die A-Adressenmultiplexerschaltkreise 40-480, während das NA-FeId eine Adresse von 1110 an die B-Adressenmultiplexerschaltkreise 40-482 anlegt. Unter Mikroprogrammsteuerung wird die arithmetische Logikeinheit ALU in die Lage versetzt, den an den S-Operandeneingangsanschluß angelegten Inhalt des Q-Registers von dem unter der Adresse f ausgelesenen und an den R-Operandeneingangsanschluß angelegten Inhalt zu subtrahieren. Danach wird das Ergebnis unter der Adresse e eingeschrieben. Hierdurch wird der Wert entsprechend dem 1,10-fachen der Multiplikandenmantisse unter der Adresse e abgelegt, wie dies aus Fig. 8 ersichtlich ist.
809884/0993
Der Befehlsprozessor SIP-4O beginnt mit der Bearbeitungsphase der Multiplikation durch Eintritt in einen Operationssyklus $ SML-PP-MPLI. Während dieses Zyklus überträgt der Mikroprozessorabschnitt 40-8 Signale entsprechend dem Inhalt des temporären Akkumulators zu dem Q-Register.
Aufgrund eines nächsten Mikrobefehlswortes legt das DA-FeId eine Adresse von 0000 an die A-Adressenmultiplexerschaltkreise 40-480. Unter Mikroprogrammsteuerung werden Signale entsprechend dem anfänglichen Inhalt des temporären Akkumulators über die Logikeinheit ALU und den Q-Multiplexerschaltkreis mit drei Eingängen in das Q-Register übertragen. Hierdurch wird die Multiplikatormantisse und der berechnete Exponent in dem Q-Register abgelegt. Diese Werte sind in Fig. 10 für den Zyklus $ SML-PP-MPLI dargestellt, und sie entsprechen den Werten, wie sie gemäß Fig. 9 während des Zyklus $ SML-SA-LLN gespeichert sind.
Als nächstes tritt der Befehlsprozessor SIP-40 in einen Operationszyklus 0 SML-LMT-L ein, in welchem der Mikroprozessorabschnitt 40-8 die Bitpositionen der Mantisse im temporären Akkumulator auf den Binärwert "0" setzt und die Multiplikatormantisse im Q-Register um eine Bitposition nach rechts verschiebt. Hierdurch wird der Inhalt des temporären Akkumulators zur Vorbereitung auf die Speicherung von Teilprodukten gelöscht und der Inhalt des Q-Registers um eine Bitposition nach rechts verschoben. Weiterhin wird hierdurch der Inhalt der Bitpositionen 47, 51 und 55 des Q-Registers, die einer ersten Multiplikatorzahl entsprechen, an die A-Adressenmultiplexerschaltkreise 40-480 angelegt .
Aufgrund eines nächsten Mikrobefehlswortes legt das DA-FeId eine Adresse von 0000 an die B-Multiplexerschaltkreise 40-482 an. Der Mikroprözessorabschnitt 40-8 überträgt unter Mikroprogrammsteuerung den Inhalt des temporären Akkumulators zu den B-Verriegelungen und über den nachgeschalteten Multiplexerschaltkreis
809884/0993
mit drei Eingängen zu dem S-Operandeneingang der Logikeinheit ALU. Danach wird unter Mikroprogrammsteuerung der Inhalt auf den Binärwert "O" gesetzt und über den Multiplexerschaltkreis mit drei Eingängen übertragen und in den temporären Akkumulator zurückgeschrieben. Fig. 9 veranschaulicht den Inhalt des temporären Akkumulators, der einen Mantissenwert von Null und einen erzeugten Multxplikatorexponenten nach Beendigung des Operationszyklus $> ßML-LMLT-L aufweist.
Die in dem Q-Register gespeicherte Multiplikatormantisse wird zusätzlich unter Mikroprogrammsteuerung dem Q-Multiplexerschaltkreis mit drei Eingängen zugeführt, der den Inhalt um eine Bitposition nach rechts verschiebt, worauf das Resultat in das Q-Register zurückgeladen wird.
Gemäß Fig. 3 wird der resultierende Inhalt der Bitpositicnen 47, 51 und 55 des Q-Registers den drei Eingangsanschlüssen der A-Adressenmultiplexerschaltkreise 40-480 zugeführt und der vierte Eingangsanschluß wird auf den Binärwert "1" durch das Bit 0 des Mikrobefehlswortes gesetzt. Der verschobene Inhalt des Q-Registers und der Wert der Teilvielfach-Zahl, die an die A-Adressenmultiplexerschaltkreise 40-480 angelegt wird, ist in Fig. IO dargestellt. Der ausgewählte Multiplikator-Zahlenwert von 1000 ruft das Auslesen des O-fach-Multiplikanden unter der entsprechenden Adresse 1000 hervor. Zusätzlich werden die Bitpositionen 20-22 des Adreßregisters 40-42 auf den Binärwert "0" gesetzt. Wie zuvor erwähnt, wird dieses Register 40-42 benutzt, um eine Anzahl von Operationszyklen zu zählen, was einen Austritt nach Beendigung bestimmter Operationen ermöglicht.
Gemäß Fig. 11 tritt der Befehlsprozessor SIP-40 als nächstes in einen Operationszyklus # SML-EL5M ein. In diesem Zyklus überträgt der Mikroprozessorabschnitt 40-8 das um eine Bitposition nach rechts verschobene Teilvielfache in den temporären Akkumulator. Ferner verschiebt dieser Zyklus den Exponenten in dem
809884/0993
temporären Akkumulator sowie den Inhalt des Q-Registers um eine Bitposition nach, rechts und erhöht den Adreßzählerinhalt um eins.
Während dieses Zyklus wird unter Mikroprogrammsteuerung das aus den Α-Verriegelungen ausgelesene, ausgewählte Teilvielfache über den Multiplexerschaltkreis mit zwei Eingängen dem R-Operandeneirigang zugeführt, während der Inhalt mit dem Binärwert "0" des temporären Akkumulators dem S-Operandeneingang zugeführt wird, wie dies durch das DA-FeId eines weiteren Mikrobefehlswortes festgelegt ist. Die arithmetische Logikeinheit ALU wird durch das Mikrobefehlswort in die Lage versetzt, den Wert des Teilvielfachen ("0" ) zu dem Wert des Teilproduktes ("0" ) zu addieren. Das sich ergebende Teilprodukt wird dem Multiplexerschaltkreis mit drei Eingängen übertragen. Vor dem Einschreiben in den temporären Akkumulator wird der Inhalt des Teilproduktes durch den Multiplexerschaltkreis 40-920 um eine Bitposition nach rechts verschoben.
Gleichzeitig hiermit verschiebt der Mikroprozessorabschnitt 40-8 unter Mikroprogrammsteuerung den Inhalt des Q-Registers zur Auswahl des nächsten Teilvielfachen um eine Bitposition nach rechts. Die Verschiebung des Inhalts des Q-Registers erfolgt erneut über den Q-Multiplexerschaltkreis mit drei Eingängen. Die Bitpositionen 47, 51 und 55 des Q-Registers legen im so verschobenen Zustand den Wert von 000 an die drei Eingangsanschlüsse des A-Adressenmultiplexerschaltkreises 40-480 an, während der vierte Eingangsanschluß erneut auf den Binärwert "1" gesetzt wird (siehe Fig. 10). Der ausgewählte Teilvielfach-Zahlenwert 1000 ruft erneut das Auslesen des 0-fachen des Multiplikanden-Teilvielfachen unter der entsprechenden Adresse 1000 hervor.
Der Inhalt des Registers 40-42 wird zusätzlich unter Mikroprogrammsteuerung um 1 erhöht. Hierdurch werden die Bitpositionen 21 und 22 auf den Binärwert'"1" bzw. "0" gesetzt, Während nachfolgender Operationszyklen wird der in dem temporären Akkumulator gespeicherte Exponentwert herausgeschoben. Da die Verarbeitung von
809884/0993
Exponenten für dao Verständnis der vorliegenden Erfindung nicht erforderlich ist, müssen derartige Verschiebeoperationen nicht weiter erläutert werden.
Gemäß Fig. 11 tritt der Befehlsprozessor SIP-4O sodann in einen Operationszyklus 0 SML-L5M ein. Während dieses Zklus addiert der Mikroprozessorabschnitt 40-8 das ausgewählte Teilvielfache zu dem Teilprodukt in dem temporären Akkumulator und legt die Summe, verschoben um eine Bitposition, nach rechts, in dem temporären Akkumulator ab. Ferner wird der Inhalt des Q-Registers um eine Bitposition nach rechts verschoben, der Inhalt des Adreßzählers um 1 erhöht und ' ein Wert von 02 an den Konstantengener atorchip 40-720 gemäß Fig. 3 zur Auswahl eines geeigneten Verschiebezählstandes angelegt, wobei dieser Verschiebezählstand den Verschiebeschaltkreisen 40-7Oa bis 40-7Od während des nächsten Zyklus # SML-L5M-LF zugeführt wird.
Es ist aus Fig. 11 erkennbar, daß der Zyklus $ SML-L5M wiederholt wird, bis die Adreßzähler-Bitpositionen AD 21 und 22 einen Zählstand von drei speichern, worauf in den Zyklus # SML-L5M-LF eingetreten wird.
Betrachtet man vorstehenden Sachverhalt in näheren Einzelheiten, so ist aus den Fig. 8 und 10 erkennbar, daß der ausgewählte Zahlenwert des Teilvielfachen von 1000 erneut das Auslesen des 0-fachen des Multiplikanden-Teilfachen unter der entsprechenden Adresse von 1000 in die Α-Verriegelungen hervorruft. Von dort werden die Teilvielfachen-Signale dem R-Operandeneingang der Logikeinheit ALU zugeführt. Während dieses Zyklus wird unter Steuerung durch das DA-FeId eines weiteren Mikrobefehlswortes der Inhalt des Teilproduktes des temporären Akkumulators in die B-Verriegelungen ausgelesen und dem S-Opeirandeneingang der Logikeinhe.it ALU zugeführt. Die arithmetische Logikeinheit ALU addiert die Teilvielfachwerte ("0") zu den Teilproduktwerten (11O"), und das Ergebnis wird zu dem Multiplexerschaltkreis mit drei Ein-
809884/09 9 3
gangen übertragen. Vor dein Einschreiben in den temporären Akkumulator wird das Ergebnis um eine 'Bitposition durch den Multiplexerschaltkreis nach rechts verschoben und unter der Adresse 0000 eingeschrieben.
Der Inhalt des Q-Registers wird unter Mikroprogrammsteuerung um eine Bitposition durch den Multiplexerschaltkreis mit drei Eingängen zwecks Auswahl des nächsten Teilvielfachen nach rechts verschoben. Nach der Verschiebung legen die Bitpositionen 47, 51 und 55 des Q-Registers den Wert von 000 gemäß Fig. 10 an die A-Adressenmultiplexerschaltkreise 40-480 an. Ferner wird der Adreßzähler um 1 erhöht.
Gemäß Fig. 10 wird der Zyklus $ SML-5M mit dem gleichen Ergebnis (TeilvieIfachwert von "0" und Teilproduktwert von "0") wiederholt. Diese Werte sind in Fig. 10 dargestellt. Am Ende dieses Zyklus speichert der Adreßzähler einen Zählstand von 3, worauf der Befehlsprozessor SIP-40 mit dem Zyklus # SML-L5M-LF beginnt. Gemäß Fig. 11 verschiebt während dieses Zyklus der Befehlsprozessor SIP-40 unter Mikroprogrammsteuerung den Inhalt des temporären Akkumulators um wei Ziffern (8 Bitpositionen) nach rechts und speichert den verschobenen Inhalt zurück in den temporären Akkumulator. Gemäß Fig. 9 weist der Teilprodukt-Mantissenwert des temporären Akkumulators noch in allen Stellen den Binärwert "0" auf, während der Exponentenwert heraus verschoben worden ist und 12 Multiplikatorbits verarbeitet worden sind.
Während des Zyklus $ SML-L5M-LF wird die Konstante, die eine aus dem ROM-Chipgenerator 40-720 ausgelesene 8 Bit-Verschiebung festlegt, an die Eingangsanschlüsse D0-D3 eines jeden der Verschiebe- ■ schaltkreise 40-7Oa bis 4o"-7Od angelegt. Unter der Steuerung eines weiteren Mikrobefehlswortes wird der ausgelesene Inhalt des Teilproduktes in die Α-Verriegelungen ausgelesen und über die Logikeinheit ALU an die Eingangsanschlüsse 10-115 eines jeden der Vex— Schiebeschaltkreise 40-7Oa bis 40-7Od angelegt, die diesen Inhalt
809884/0993
um zwei Ziffern nach rechts verschieben. Das an den Ausgangsanschlüssen 00-015 eines jeden der Verschiebeschaltkreise 40-7Oa bis 40-7Od auftretende Resultat wird über den Multiplexerschaltkreis mit zwei Eingängen, die arithmetische Logikeinheit ALU und den Multiplexerschaltkreis mit drei Eingängen übertragen und in den temporären Akkumulator eingeschrieben.
Gemäß Fig. 11 ist ersichtlich, daß der Befehlsprozessor SIP-40 mit einem Operationszyklus 0 SML-L4M beginnt. Für eine vereinfachte Erläuterung ist dieser Zyklus ebenso wie die Zyklen 0 SML-L4M,0SML-L4M, 0 SML-L4M-LF, $ SML-L3M, 0 SML-L3M-LF, 0 SML-L2M, 0 SML-L2M-LF und 0 SML-L1M in Fig. 11 als getrennter Zyklus dargestellt. Diese Zyklen wiederholen jedoch lediglich die im Zusammenhang mit den Zyklen 0 SML-L5M und 0 SML-L5M-LF beschriebenen Operationen. Es sei daher darauf verwiesen, daß die gleiche Folge durch einen Zählstand verwirklicht werden kann, der vorgibt, wievielmal jeder der beiden Zyklen zu wiederholen ist.
Hinsichtlich des vorliegenden Beispiels sei den Fig. 9 und 10 entnommen, daß die Zyklen £ SML-L4M, 0 SML-L4M-LF, 0 SML-L3M und 0 SML-L3M-LF Resultate erzeugen, die mit jenen identisch sind, welche während der Zyklen 0 SML-L5M und 0 SML-L5M-LF erzeugt werden. Eine weitere Erörterung dieser Zyklen ist daher nicht erforderlich.
Während des ersten Zyklus 0 SML-L2M legen die Bitpositionen 47f 51 und 55 des Q-Registers den Wert. 010 gemäß Fig. 10 an die A-Adressenmultiplexerschaltkreise 40-480 an. Der ausgewählte Teilvielfach-Zahlenwert von 1010 ruft das Auslesen des 0,10-fachen des Multiplikanden-Teilvielfachen unter der Adresse 1010 hervor, wobei-dieses Teilvielfache den Wert gemäß Fig. 8 besitzt. Das ausgewählte Teilvielfache wird in die Α-Verriegelungen eingelesen und über den Multiplexerschaltkreis mit zwei Eingängen dem
809884/0993
S-Operändeneingang der Logikeinheit ALU zugeführt. Der 11O"-Inhalt des Teilproduktes des temporären Akkumulators wird in die B-Verriegelungen ausgelesen und über den Multiplexerschaltkreis mit drei Eingängen dem R-Operandeneingang der Logikeinheit ALU zugeführt.
Unter der Steuerung eines weiteren Mikrobefehlswortes addiert die arithmetische Logikeinheit ALU das ausgewählte Teilvielfache zu dem "0"-Teilprodukt, verschiebt die Summe durch den Multiplexerschaltkreis mit drei Eingängen um eine Bitposition nach rechts und speichert den resultierenden Wert gemäß Fig. 9 in dem temporären Akkumulator. Erneut wird der Inhalt des Q-Registers zwecks Auswahl des nächsten Teilvielfachen um eine Bitposition nach rechts verschoben, und der Adressenzähler wird um 1 erhöht, worauf er die Werte gemäß Fig. 10 erzeugt.
Während des nächsten Zyklus 0 SML-L2M legen die Bitpositionen 47, 51 und 55 des Q-Registers den Wert 100 an die A-Adressenmultiplexerschaltkreise 40-480 an. Der ausgewählte Teilvielfach-Zahlenwert von 1100 ruft das Auslesen des 1,00-fachen des Multiplikanden-Teilvielfachen unter der Adresse 1100 in die A-Verriegelungen hervor, worauf dieser Wert über den Multiplexerschaltkreis mit zwei Eingängen dem R-Operandeneingang der arithmetischen Logikeinheit ALU zugeführt wird. Gleichzeitig wird der Teilproduktinhalt des temporären Akkumulators in die B-Verriegelungen ausgelesen und über den Multiplexerschaltkreis mit drei Eingängen dem S-Operandeneingang der Logikeinheit ALU zugeführt. Der Inhalt des Teilvielfachen unter der Adresse 1100 wird unter Mikroprogrammsteuerung zu dem Inhalt des Teilproduktes addiert, und das Ergebnis wird durch den Multiplexerschaltkreis mit drei Eingängen um eine Bitposition nach rechts verschoben und in dem temporären Akkumulator gespeichert. Der gespeicherte Wert ist in Fig. 9 dargestellt. Erneut wird der Inhalt des Q-Registers um eine Bitposition zwecks Auswahl des nächsten Teilvielfachen nach rechts verschoben, und der Inhalt des Adreßzählers wird um 1 erhöht.
80 9884/0993
Die. sich ergebenden Werte sind.in Fig. 10 dargestellt.
Während des nächsten Zyklus $ SML-L2M wird das 0-fache des Multiplikanden-Teilvielfachen durch die ausgewählte Teilvielfacliziffer 1000 ausgewählt. Dies führt zu einer Verschiebung des Teilproduktes um eine Bitposition nach rechts und zur Speicherung in dem temporären Akkumulator gemäß Fig. 9. Erneut wird der Inhalt des Q-Registers um eine Bitposition nach rechts verschoben, und es wird der Inhalt des Adreßzählers um 1 erhöht. Die sich ergebenden Werte sind in Fig. 10 dargestellt.
Während des letzten Zyklus $ SML-L2M wird das 1,10-fache des Multiplikanden-Teilvielfachen durch die ausgewählte Teilvielfachziffer 1110 ausgewählt. Dieses Teilvielfache wird in der zuvor beschriebenen Weise zu dem Teilprodukt des temporären Akkumulators addiert, und es wird die Summe um eine Bitposition nach rechts verschoben ' und in dem temporären Akkumulator abgelegt. Das Ergebnis ist in Fig. 9 dargestellt. Erneut wird der Inhalt des Q-Registers um eine Bitposition nach rechts verschoben, und der Inhalt des Adreßzählers wird um 1 auf einen Zählstand von 3 erhöht, wie dies in Fig. 10 dargestellt ist. Während dieses Zyklus wird ein Ziffernwert von 02 dem Konstantengeneratorchip 40-720 zugeführt.
Gemäß Fig. 11 beginnt nun der Befehlsprozessor SIP-40 mit einem Operationszyklus 0 SML-L2M-LF, wobei er den Inhalt des temporären Akkumulators um eine Anzahl von Bitpositionen nach rechts verschiebt, die durch die aus dem Generatorchip 40-720 ausgelesene Konstante festgelegt ist. Diese Konstante legt erneut eine 8 Bit-Verschiebung fest. Der Adreßzähler wird zusätzlich um 1 erhöht.
80 9884/0993
Aufgrund eines weiteren Mikrobefehlswortes wird das Teilprodukt des temporären Akkumulators in die B-Verriegelungen ausgelesen und über den Multiplexerschaltkreis mit drei Eingängen, die Logikeinheit ALU, und den Ausgangs-Multiplexerschaltkreis den Eingangsanschlüssen 10-115 der Mehrziffer-Verschiebeschaltkreise 40-7Oa bis 4O-7Od zugeführt. Das an den Ausgangsanschlüssen 00-015 der Verschiebeschaltkreise 40-7Oa bin 40-7Od auftretende verschobene Teilprodukt wird über den Multiplexerschaltkreis mit zwei Eingängen, die Logikeinheit ALU und den Multiplexerschaltkreis mit drei Eingängen dem temporären Akkumulator zugeführt. Das Teilproduktergebnis ist in Fig. 9 dargestellt. Ferner wird unter Mikroprogrammsteuerung der Inhalt des Adreßzählers um 1 erhöht.
In gleicher Weise führt der Befehlsprozessor SIP-40 als nächstes eine Reihe von # SML-L1M-Zyklen aus, wobei der Mikroprozessorabschnitt 40-8 unter Mikroprogrammsteuerung die durch die Werte 1010, 1001, 1010 und 1010 ausgewählten Teilvielfachen gemäß Fig. 10 addiert. Insbesondere ruft während eines ersten $ SML-L1M-Zyklus der ausgewählte Teilvielfach-Sahlenwert von 1010 die Addition des 0,10-fachen des unter der Adresse 1010 gespeicherten Multiplikanden-Teilvielfachen zu dem in dem temporären Akkumulator gespeicherten Teilprodukt hervor. Die Summe wird um eine Bitposition nach rechts verschoben und das in Fig. 9 dargestellte Resultat wird in den temporären Akkumulator zurückgeführt. Der Inhalt des Q-Registers wird um eine Bitposition nach rechts verschoben, und der Inhalt des Adreßzählers wird um 1 erhöht, wodurch die Werte gemäß Fig. 10 erzeugt werden.
Während des zweiten 0 SML-L1M-Zyklus ruft der ausgewählte Teilvielfach-Zahlenwert von 1001 die Addition des 0,01-fachen des Multiplikanden-Teilvielfachen zu dem in dem temporären Akkumulator gespeicherten Teilprodukt hervor. Das resultierende Teilprodukt und der Inhalt des Q-Registers werden um 1 Bitposition nach rechts verschoben, und der Inhalt des Adreßzählers-wird
809884/0993
urn 1 erhöht, wodurch die Werte gemäß den Fig. 9 und 10 erzeugt werden. Während des letzten 0 SML-LiM-Zyklus ruft der ausgewählte Teilvielfach-Zahlenwert von lOlO die Addition des O1.10-fachen des Multiplikanden-Teilvielfachen zu dem in dem temporären Akkumulator gespeicherten Teilprodukt hervor, worauf sich nach einer Rechtsverschiebung um eine Bitposition die in Fig. 9 gezeigten Werte ergeben. Der· Inhalt des Q-Registers wird erneut um eine Bitposition nach rechts verschoben, und der Inhalt des Adreßzählers wird um 1 erhöht, wodurch die Werte gemäß Fig. 10 erzeugt werden.
Gemäß Fig. 11 beginnt der Befehlsprozessor SIP-40 als nächstes mit einem Operationszyklus 0 SML-L1M-S4, wobei das letzte Teilvielfache, das durch einen anderen Zahlenwert von 1010 ausgewählt wurde, zu dem in dem temporären Akkumulator gespeicherten Teilprodukt addiert wird und wobei das Ergebnis um eine Bitposition nach rechts verschoben und in dem temporären Akkumulator gespeichert wird. Hierdurch wird die Bearbeitung der gesamten 56 Bits der Multiplikatormantisse vervollständigt. Es sei darauf verwiesen, daß 60 Bits tatsächlich verarbeitet werden. Während der letzten vier Zyklen weist jedoch eines der drei Bits (das am wenigsten signifikante Bit) den Binärwert "O" auf, was sich aus der Verschiebung der Binärwerte "0" in das Q-Register ergibt; Es ist ersichtlich, daß der temporäre Akkumulator das endgültige Ergebnis der Multiplikation speichert, wie dieses in Fig. 9 angezeigt ist.
Der nächste Zyklus ist ein 0 SML-PL-RND-Zyklus, während welchem der Befehlsprozessor SIP-40 Signale entsprechend dem Mantissenwert zu dem Funktionsregister 40-40 überträgt, um die Werte der Bits 4-7 zu testen. Unter der Annahme, daß diese Bits nicht den Wert -11O" aufweisen, tritt der Befehlsprozessor SIP-40 in einen # SML-PL-RND-Zyklus ein. Während dieses Zyklus liest der Mikroprozessorabschnitt 40-8 den Inhalt des endgültigen Produkts aus dem temporären Akkumulator aus, verschiebt diesen um eine Ziffer
80 9884/0993
( 4 Bitpositionen) und speichert das Ergebnis in dem Akkumulator SA1; wie in Fig. 8 angezeigt. 'Der Akkumulator SÄ1 speichert somit nunmehr den Wert 5OB23B31EBOOOO FO. Die Auslese- und Verschiebeoperationen v/erden unter Mikroprogrammsteuerung in der zuvor beschriebenen Weise ausgeführt.
Dem obengenannten Zyklus folgt ein # SML-ADX-Zyklus, in welchem der Mikroprozessorabschnitt 40-8 den Exponentenwert im Q-Register zu dem Exponentenwert des in dem Akkumulator SA1 gespeicherten Multiplikanden addiert und das Ergebnis in dem Akkumulator SA1 ablegt. Der tatsächliche Exponentenwert weist eine Länge von 7 Bit auf und besetzt die Bitpositionen 56 bis 62. Ein Binärwert "0" wird jedoch, in der Bitposition 63 eingefügt.
Die Werte und Ergebnisse sind folgende:
Binär addiert zu Bit Exzeß 54
2616
1216
010
001
oho
0010
4C16
2816
0100
0010
1100
0100
cc
A4
1100
1010
1100
0100
3616 on looo 0111 0000 FO 1111 0000
Es ist festzustellen, daß die drei Additionen der oben dargestellten Exponenten einander entsprechen. Die Addition des Q-Register-Exponentenwertes von 00100100 zu dem SA1-Exponentenwert von 11001100 liefert das Ergebnis 11110000 bzw FO, welches als endgültiges Produkt in dem temporären Akkumulator gemäß Fig. 8 gespeichert wird.
Es sei darauf verwiesen, daß diese Exponentenadditionen ebenso wie die vorhergehenden Berechnungen als herkömmlich ausgeführt angesehen werden können, wobei die 64 Bitpositionen des Q-Registers und die Speicherplätze des temporären Akkumulators benutzt werden.
80 9884/0993
Die zuvor beschriebenen Exponentenoperationen ebenso wie die Teilvielfach-Operationen werden in ähnlicher Weise ausgeführt.
Als nächstes tritt der Befehlsprozessor SIP-40 in einen Zyklus 0 YOURMOVE ein, bei welchem er der Zentraleinheit CPU-20 signalisiert, daß er die Multiplikation beendet hat.
Aus vorstehendem wird erkennbar, daß die Einrichtung gernäß der vorliegenden Erfindung in der Lage ist, eine Multiplikation schnell auszuführen. Durch Verwendung des am wenigsten signifikanten Bits der am wenigsten signifikanten drei aufeinanderfolgenden hexadezimalen Ziffern ist die Anordnung gemäß der vorliegenden Erfindung in der Lage, den Aufwand und die Anzahl der Verschiebeoperationen auf ein Minimum zu reduzieren. Dies bedeutet, daß nur eine Verschiebung von einem Bit der Multiplikatorziffern erforderlich ist, um ein nächstes Teilvielfaches auszuwählen.
Während die vorliegende Erfindung anhand der Verarbeitung von drei Bits auf einmal veranschaulicht worden ist, liegt es auf der Hand, daß die vorliegende Erfindung auch Anwendung finden kann, wenn eine größere Anzahl von Bits aufeinmal verarbeitet wird. Die Anzahl der Bits hängt von dem Betrag der zur Verfügung stehenden Speicherplätze ab. Beispielsweise erfordert eine Verarbeitung von vier Bits aufeinmal 16 Teilvielfach-Adressen, während bei η Bits 2 Teilvielfach-Adressen erforderlich sind.
Es sei darauf verwiesen, daß die bei der Zuteilung der Bitpositionen des Chips bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung benutzte Übereinkunft eine solche ist, bei der die signifikanteste Bitposition mit 0 bezeichnet ist (QO, FO), während die am wenigsten signifikante Bitposition mit 3 bezeichnet ist (Q3, F3). Die Hersteller von Mikroprozessorchips können bei der Beschreibung ihrer Chips verschiedene Konventionen be-
809884/0993
nutzen, was zu einer Änderung der spezifischen Stiftverbindungen beim Zusammenbau des bevorzugten Ausführungsbeispieles führt. Beispielsweise benutzt der Chip-Hersteller, Advanced Micro Devices Inc., eine Konvention, die der in dem bevorzugten Ausführungsbeispiel beschriebenen Konvention entgegengesetzt ist. Die Stiftanschlüsse QO, Q3 und FO, F3 müßten somit ausgetauscht werden, wenn derartige Chips in dem vorliegenden Ausführungsbeispiel verwendet werden.
Es sei darauf verwiesen, daß Fachleute vielfache Änderungen des bevorzugten Ausführungsbeispieles der vorliegenden Erfindung vornehmen können. Beispielsweise kann der Mikroprozessor der vorliegenden Erfindung mit anderen Chips verwirklicht werden, beispielsweise durch den Chip AMD29O1A, hergestellt durch Advanced Micro Devices Inc., und durch den Chip MMI67O1, hergestellt durch Monolithic Memories Inc. Es sei ebenfalls darauf verwiesen, daß solche Chips unter der Verwendung verschiedener Technolo-
gien, wie beispielsweise CML, I L, usw. hergestellt werden können.
Um die Beschreibung nicht unnötig aufzublähen, wurde die Erfindung in einem Blockdiagramm dargestellt, wobei eine detaillierte Funktionsbeschreibung eines jeden Blockes und eine spezifische Identifizierung der enthaltenen Schaltkreise gegeben wurde. Hinsichtlich der Auswahl von Elementen und Komponenten, wie beispielsweise von Flip-Flop-Schaltkreisen, Schieberegistern usw. sei auf die erhältlichen Veröffentlichungen verwiesen, wie beispielsweise "Arithmetic Operations in Digital Computers" von R.K. Richards (Van Nostrand Publishing Company), "Computer Design Fundamentals" von Chu (McGraw-Hill Book Company, Inc.) und "Pulse, Digital and Switching Waveforms" von Millman und Taub, McGraw-Hill Book Company, Inc.
809884/0993
Leerseite

Claims (15)

  1. 283033*
    HOHJJYIiTELL INFORMATION SYSTEMS INC.
    Smith Street " 7. Juli 1978
    Waltham, Mass., USA 51 Ol r533 Ge
    MultipllssiereXiirichtung
    Patentansprüche:
    M .) Einrichtung zum Multiplizieren eines Mtiltiplikan-3en durch Auswahl von Teilvielfachen des Multiplikanden in Übereinstimmung mit den Bits eines Multiplikators, g e k e η η ·- zeichnet durch
    eine Anzahl von hintereinandergesehalteten Multibit-Prozessor chips, wobei jeder Chip eine Anzahl von Anschlußklemmen aufweist und umfaßt:
    eine arithmetische Logikeinheit; einen adressierbaren an die arithmetische Logikeinheit angeschlossenen Multibit-Speicher mit wahlfreiem Zugriff, wobei jeder Speicher mehrere Multibit-Speicherplätze aufweist, von denen eine Gruppe eine Anzahl unterschiedlicher vorbestimmter Teilvielfach-Zahlen den Multiplikanden mit Werten speichert, die so ausgewählt sind, daß sie eine vorbestimmte Beziehung zu den Werten der Bits des Multiplikators aufweisen, der bei der Auswahl der Teilvielfachen benutzt wird, und wobei jeder Speicher einen anderen Speicherplatz zur Speicherung eines Teilproduktv/ertes ciuf weist/ ein Multipositions -Schieberegister zur Speicherung des an die arithmetische Logikeinheit angeschlossenen Multiplikators, wobei eine signifikanteste Bitposition und eine am wenigsten signifikante Bitposition eines jeden Multipossitions-Schieberegisters an erste und zweite Anschlußklemmen angeschlossen sind:
    Hr./Ra .
    803884/0993
    ORIGINAL INSPECTED
    eine erste Lei Lung zum Verbinden der zweiten Anschlußklemme verschiedener Chips mit der ersten Anschlußklemme eines jeweils nachfolgenden Chips, um eine Mehrfach-ZiffernverSchiebung doπ MultLplikaUo.c-Zifjierninhciltes des Schieberegisters während einofj Operationszyklus zu ermöglichen; und TeLl-Vielfaclx-Auswahlnchaltkreise mit einer Anzahl von Eingangs-An.Sühlußklemrncn, denen Auswahlsignale von einer Anzahl der zweiten Anschlußklemmen vorbestinmvter Chips zugeführt werden, die eine Gruppe aufeinanderfolgender Multiplikatorzahlen speichern, und rait Ausgangs-Anschlußklemmen, die an jeden adrossierbaren Speichor mit wahlfreiem Zugriff angeschlossen sind, wobei die Auswahlsignale jeden der Speicher in die Lage versetzen, die Zahlen eines nächsten Teilvielfachen des Multiplikanden bei der Verschiebung des Multiplikator-Zahleninhalts des Schieberegisters in einer vorbestimmten Richtung um eine Bitposition zu speichern zwecks Summierung zu dem in dem anderen Speicherplatz des Speichers gespeicherten Teilproduktwert durch die arithmetische Logikeinheit, wodurch ein Ausgangs-Teilprodukt durch die gleichzeitige Verarbeitung verschiedener Bits des Multiplikators während des Operationszyklus erzeugt wird.
  2. 2. Einrichtung nach Anspruch 1r dadurch gekennzeichnet , daß jeder Chip ferner einen an dritte und vierte Anschlußklemmen angeschlossenen Multibit-Eingangs-Verschiebemultiplexer aufweist und daß die Einrichtung ferner zv/eite Leitungen aufweist, die die dritten und vierten Anschlußklemmen eines jeden Chips mit den vierten und dritten Anschlußklemmen eines nachfolgenden und vorangehenden Chips verbinden, um das Verschieben des Ausgangs-Teilproduktes um eine Bitposition in der vorbestimmten Richtung während des OperationszykLus zu ermöglichen.
  3. 3. Einrichtung nach Anspruch 2, gekennzeichnet
    d u r c h eine Links-nach-Rechts-Verschiebung entsprechend e.h::n: Verschiebung von der signifikantesten zu der am wenigsten si ι/in f'Lkanlen Bitposition.
    009884/0993
    ORIGINAL INSPECTED
    j
  4. 4. Einrichtung nach Anspruch 3r dadurch. gekennzeichnet, daß die vorbestiimnte Beziehung zwischen den Werten der Teilvielfachen und den Multiplikator-Auswahl bits die Teilv.iielf achwerte einschließlich der Teilvielfachen der numerischen Werte der am wenigsten signifikanten Bitpositionen eines jeden der drei am wenigsten signifikanten Ziffern des Multiplikators aufweist.
  5. 5. Einrichtung nach Ansprach 4f dadurch gekennzeichnet, daß die am wenigsten signifikanten Bitpositionen der drei am wenigsten signifikanten Ziffern mit Werten entsprechend dem 1-fachen, 10-fachen und 100-fachen des Wertes des Multiplikanden ausgewählt sind.
  6. 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die unterschiedlichen vorbestimmten zur Speicherung in der Anzahl von Speicherplätzen ausgewählten Teilvielfachen Werte entsprechend dem O, 1, 10, 11, 100, 110 und dem 111-fachen des Multiplikanden aufweisen.
  7. 7. Einrichtung nach Anspruch 6,dadurch gekennzeichnet, daß der Multiplikand und der Multiplikator jeweils einen Mantissenteil mit mehreren binärcodierten Ziffern aufweisen, daß die Speicher der Chips diese unterschiedlichen vorbestimmten Teilvielfachziffern des Mantissenteils des Multiplikanden speichern, und daß vorbestimmte Eingangs-Anschlußklemmen der Teilvielfach-Auswahlschaltkreise in einer vorbestimmten Weise an die vierte Anschlußklemme eines jeden der Chips angeschlossen sind, die die letzten drei am wenigsten signifikanten Multiplikatorziffern in dem darin enthaltenen Multibitpositions-Schieberegister speichern.
    809884/0993
    ORIGINAL INSPECTED
  8. 8. Einrichtung nach. Anspruch 7, dadurch. gekennzeichnet/ daß der Mantissenteil eine erste vorbestimmte Anzahl von Bits aufweist, wobei alle Multibit-Speicher der ersten Gruppe von Chips eine zweite vorbestimmte Anzahl von Bits aufweisen, die größer als die erste vorbestimmte Anzahl von Bits ist, und daß die verschiedenen vorbestimmten Teilvielfachen bei der Speicherung in den Speicherplätzen der ersten Gruppe von Speichern Werte entsprechend dem O, O.O1, 0.10, 0.11, 1, 1.01, 1.10 und dem 1.11-fachen des Mantissenteils des Multiplikanden aufweisen.
  9. 9. Einrichtung nach Anspruch 8,dadurch gekennzeichnet , daß sie ferner eine Mikroprogrammsteuerung zur Erzeugung einer Reihe von Mikrobefehl-Steuersignalen aufweist, daß jeder Multibit-Prozessorchip ferner eine Anzahl von Steuereingangsanschlüssen aufweist, denen verschiedene Mikrobefehl-Steuersignale zugeführt werden, daß jedes Multibitpositions-Schieberegister durch erste Mikrobefehlsteuersignale in die Lage versetzt wird, den Multiplikator-Zifferninhalt um eine Bitposition zu verschieben, daß jeder Speicher durch zweite Mikrobefehlsteuersignale in die Lage versetzt wird, in die arithmetische Logikeinheit eine Ziffer eines nächsten durch die Auswahlsignale festgelegten Teilvielfachen auszulesen, und daß jede arithmetische Logikeinheit durch dritte Mikrobefehlsteuersignale in die Lage versetzt wird, die nächste Teilvielfachzahl zu einer entsprechenden Zahl des Teilproduktes zwecks gleichzeitiger Bearbeitung verschiedener Multiplikatorbits während des Operationszyklus zu summieren.
  10. 10. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß der Teilvielfach-Auswahlschalticreis ferner umfaßt:
    einen ersten Multiplexerschaltkreis mit einer der erwähnten ersten Anzahl von Eingangs-Anschlußklemmen entsprechenden Anzahl von Eingangs-Anschlußklemmen, wobei einer ersten Eingangs-Anschlußklemme eines der Mikrobefehls-Steuersignale und zweiten,
    809884/0993 .
    dritten und vierten Eingangs-Anschlußklemmen Signale entsprechend den am wenigsten signifikanten Bits der am signifikantesten, der nächst signifikantesten und der am wenigsten signifikanten Ziffern gemäß den letzten drei am wenigsten signifikanten Multiplikatorziffern zugeführt werden, und mit einer Anzahl von Ausgangs-Anschlußklemmen, die an die adressierbaren Speicher mit wahlfreiem Zugriff angeschlossen sind, um die Teilvielfachen daraus auszulesen; und einen zweiten Multiplexerschaltkreis mit einer Anzahl von Eingangs-Anschlußklemmen, denen eine Anzahl von Mikrobefehls-Steuersignalen zugeführt wird, und mit einer Ansah! von Ausgangs-Anschlußklemmen, die an jeden adressierbaren Speicher mit wahlfreiem Zugriff angeschlossen sind, um den Inhalt irgendeines der Speicherplätze auszulesen.
  11. 11. Einrichtung nach Anspruch 9,dadurch gekennzeichnet, daß die Anzahl der Anschlußklemmen eines jeden Chips ferner umfaßt:
    eine Gruppe von Daten-Eingangsklemmen, die mit der arithmetischen Logikeinheit verbunden sind, und eine Gruppe von Daten-Ausgangsklemmen, die mit der zugeordneten arithmetischen Logikeinheit verbunden sind und daß die Einrichtung ferner Mehrziffer-Verschiebeeinrichtunqen aufweist, welche umfassen:
    eine Anzahl von Eingangsklemmen, wobei jede Eingangsklemme an verschiedene Gruppen von Daten-Ausgangsklemmen eines jeden Chips angeschlossen ist;
    eine entsprechende Anzahl von Ausgangsklemmen, wobei jede Ausgangsklemme an verschiedene Gruppen von Daten-Ausgangsklemmen eines jeden Chips angeschlossen ist; und eine Anzahl von an die Mikroprogramm-Steuerung angeschlossenen Steuer-Eingangsklemmen, wobei die Mikroprogramm-Steuerung eine andere Folge von Mikrobefehlssteuersignalen erzeugt, wobei jeder Speicher durch ein Mikrobefehlssteuersignal aus dieser anderen Folge in die Lage versetzt wird, die Ziffern des
    809884/0993
    Multiplikanden-Mantissenfceils aus einem anfänglichen Speicherplatz auszulesen, wobei jede arithmetische Logikeinheit durch, ein Mikrobefehlssteuersignal aus dieser anderen Folge in die Lage versetzt wird, die Ziffern der Multiplikandenmantisse an die Eingangsklemmen der Mehrziffer-Verschiebeeinrichtung anzulegen und wobei diese Mehrziffer-Verschiebeeinrichtung durch andere Mikrobefehlssteuersignale aus dieser Folge, die an die Steuer-Eingangsklemmen angelegt werden, in die Lage versetzt wird, die Multiplikandenmantisse um eine bestimmte Anzahl von Ziffern zu verschieben, wobei die verschiedenen resultierenden Ziffern an den Ausgangsklemmen anliegen und die Erzeugung von Ziffern dieser Anzahl von unterschiedlichen vorbestimmten Teilvielfachziffern ermöglichen, die für die Multiplikation des Multiplikanden mit dem Multiplikator erforderlich sind.
  12. 12. Einrichtung nach Anspruch 11, gekennzeichnet durch einen Konstantengenerator mit Eingangs- und Ausgangsklemmen, wobei den Eingangsklemmen bestimmte Mikrobefehlssteuersignale zugeführt werden und die Ausgangsklemmen an eine Anzahl von Steuereingangsklemmen der Verschiebeeinrichtung angeschlossen sind und wobei der Konstantengenerator aufgrund der Mikrobefehlssteuersignale Signale entsprechend einer Verschiebezählstand-Konstanten liefert, um die Verschiebung der Multiplikandenmantissenziffern um die festgelegte Anzahl von Ziffern hervorzurufen.
  13. 13. Einrichtung nach Anspruch 11,dadurch gekennzeichnet, daß jedes Multibitpositions-S^hieberegister und jeder Speicher durch bestimmte Mikrobefehlssteuersignale der anderen Folge in die Lage versetzt werden, vorbestimmte an die Daten-Eingangsklemmen angelegte verschobene Ziffern
    809084/0993
    von Teilvielfachen zu speichern und da3 die arithmetische Logikeinheit durch andere Mikrobefehlssteuersignale der anderen Folge in die Lage versetzt wird, die in dem Schieberegister und dem Speicher gespeicherte Teilvielfachziffer zu summieren, um andere unterschiedliche vorbestimmte Teilvielfachziffern zu erzeugen.
  14. 14. Einrichtung nach Anspruch 3, dadurch gekennzeichnet , daß jeder Chip ferner eine Anzahl von Steuereingangsklemmen aufweist, daß die Einrichtung ferner Mehrziffer-Verschiebeeinrichtungen mit einer Anzahl von Steuereingangsklemmen, einer Anzahl von Eingangsklemmen und einer Anzahl von Ausgangsklemmen aufweist, wobei die Eingangs- und Ausgangsklemmen an erste und zweite Gruppen der Eingangsklemmen der Chips angeschlossen sind, und
    daß eine Mikroprogrammsteuerung zur Erzeugung von Folgen von MikrobefehlssteuerSignalen vorgesehen ist, die an die Anzahl von Steuereingangsklemmen eines jeden Chips und an die Steuereingangsklemme der Verschiebeeinrichtung angeschlossen ist und die bei Beendigung einer vorbestimmten Anzahl von Bitverschiebungen der Multiplikatorziffern während einer entsprechenden Anzahl von Operationszyklen Signale an die Verschiebeeinrichtung anlegt, um das Teilprodukt um eine vorbestimmte Anzahl von Bits zu verschieben, wodurch die gleichzeitige Bearbeitung einer nächsten Anzahl von Bits innerhalb der Gruppe verschiedener Bits des Multiplikators ermöglicht wird.
  15. 15. Einrichtung nach Anspruch 2,dadurch gekennzeichnet, daß die vorbestimmte Anzahl den Wert 4 aufweist, die vorbestimmte Richtung der Linksrichtung entspricht, äie vorbestimmte Anzahl von Bits der Zahl 8 entspricht und die nächste Anzahl von Gruppen den Wert 3 aufweist.
    809884/0993
DE19782830334 1977-07-15 1978-07-10 Multipliziereinrichtung Granted DE2830334A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/815,891 US4130879A (en) 1977-07-15 1977-07-15 Apparatus for performing floating point arithmetic operations using submultiple storage

Publications (2)

Publication Number Publication Date
DE2830334A1 true DE2830334A1 (de) 1979-01-25
DE2830334C2 DE2830334C2 (de) 1988-02-25

Family

ID=25219114

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782830334 Granted DE2830334A1 (de) 1977-07-15 1978-07-10 Multipliziereinrichtung

Country Status (7)

Country Link
US (1) US4130879A (de)
JP (1) JPS5829538B2 (de)
AU (1) AU515091B2 (de)
CA (1) CA1097818A (de)
DE (1) DE2830334A1 (de)
FR (1) FR2397677A1 (de)
GB (1) GB2001189B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413326A (en) * 1978-10-18 1983-11-01 Honeywell Inc. Floating point division control
US4229801A (en) * 1978-12-11 1980-10-21 Data General Corporation Floating point processor having concurrent exponent/mantissa operation
US4276607A (en) * 1979-04-09 1981-06-30 Sperry Rand Corporation Multiplier circuit which detects and skips over trailing zeros
US4295202A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Hexadecimal digit shifter output control by a programmable read only memory
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
DE3144015A1 (de) * 1981-11-05 1983-05-26 Ulrich Prof. Dr. 7500 Karlsruhe Kulisch "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
DE3335424A1 (de) * 1983-09-29 1985-04-18 Siemens AG, 1000 Berlin und 8000 München Multiplikationswerk und verfahren zu dessen betrieb
FR2552903A1 (fr) * 1983-10-03 1985-04-05 Moulin Andre Multiplieur
NL8304186A (nl) * 1983-12-06 1985-07-01 Philips Nv Geintegreerde processor voor het verwerken van woordsgewijze ontvangbare informatie.
KR860700300A (ko) * 1984-09-28 1986-08-01 빈센트 죠셉로너 입력 기억 회로 수단 및 그 분배 사용방법
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1181457B (de) * 1957-03-07 1964-11-12 Ibm Umsetzeranordnung

Family Cites Families (4)

* 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
US3730425A (en) * 1971-05-03 1973-05-01 Honeywell Inf Systems Binary two{40 s complement multiplier processing two multiplier bits per cycle
US3871578A (en) * 1972-10-10 1975-03-18 Digital Equipment Corp Data processing system for multiplying and intergerizing floating point numbers
US4041292A (en) * 1975-12-22 1977-08-09 Honeywell Information Systems Inc. High speed binary multiplication system employing a plurality of multiple generator circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1181457B (de) * 1957-03-07 1964-11-12 Ibm Umsetzeranordnung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Electronics Letters, Vol. 11, No. 18, 4. Sept. 1975, S. 426-428 *
Elektronik 1973, H. 11, Bd. 22, S. 395-398 *

Also Published As

Publication number Publication date
AU515091B2 (en) 1981-03-12
JPS5421141A (en) 1979-02-17
JPS5829538B2 (ja) 1983-06-23
GB2001189A (en) 1979-01-24
DE2830334C2 (de) 1988-02-25
AU3756278A (en) 1980-01-03
US4130879A (en) 1978-12-19
FR2397677A1 (fr) 1979-02-09
FR2397677B1 (de) 1984-07-20
GB2001189B (en) 1982-07-07
CA1097818A (en) 1981-03-17

Similar Documents

Publication Publication Date Title
DE2900324C2 (de)
DE2846117C2 (de) Datenprozessor
DE2724125C2 (de)
EP0079471B1 (de) Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
DE1934365C3 (de) Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage
DE2542740C2 (de) Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2948668A1 (de) Puffereinheit
DE2813128A1 (de) Mikroprogrammspeicher
DE1549476A1 (de) Anordnung zur Ausfuehrung von Divisionen
CH644461A5 (de) Digitale multipliziereinrichtung.
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2830334A1 (de) Multipliziereinrichtung
DE2421130C2 (de)
DE2746505A1 (de) Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme
DE1197650B (de) Parallel-Addierer
DE2222197A1 (de) Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE2425574A1 (de) Adressierung von zeichen in einem wortorientierten system eines rechenautomaten
DE2349253C3 (de) Rechnersystem
DE2952072C2 (de) Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen
DE1184122B (de) Addiervorrichtung

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