DE2830334A1 - Multipliziereinrichtung - Google Patents
MultipliziereinrichtungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02B—INTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
- F02B75/00—Other engines
- F02B75/02—Engines characterised by their cycles, e.g. six-stroke
- F02B2075/022—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
- F02B2075/027—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3832—Less usual number representations
- G06F2207/384—Octal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3832—Less usual number representations
- G06F2207/3844—Hexadecimal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3896—Bit slicing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
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 1lß 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)
- 283033*HOHJJYIiTELL INFORMATION SYSTEMS INC.Smith Street " 7. Juli 1978Waltham, Mass., USA 51 Ol r533 GeMultipllssiereXiirichtungPatentansprü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 durcheine 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/0993ORIGINAL INSPECTEDeine 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. 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. Einrichtung nach Anspruch 2, gekennzeichnetd 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/0993ORIGINAL INSPECTEDj —
- 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. 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. 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. 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/0993ORIGINAL INSPECTED
- 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. 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. 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. 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 des809884/0993Multiplikanden-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. 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. 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 Ziffern809084/0993von 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. 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, unddaß 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. 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
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1181457B (de) * | 1957-03-07 | 1964-11-12 | Ibm | Umsetzeranordnung |
Family Cites Families (4)
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 |
-
1977
- 1977-07-15 US US05/815,891 patent/US4130879A/en not_active Expired - Lifetime
-
1978
- 1978-04-10 CA CA300,810A patent/CA1097818A/en not_active Expired
- 1978-05-12 JP JP53056481A patent/JPS5829538B2/ja not_active Expired
- 1978-06-28 AU AU37562/78A patent/AU515091B2/en not_active Expired
- 1978-07-10 DE DE19782830334 patent/DE2830334A1/de active Granted
- 1978-07-12 FR FR7820915A patent/FR2397677A1/fr active Granted
- 1978-07-14 GB GB7829875A patent/GB2001189B/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1181457B (de) * | 1957-03-07 | 1964-11-12 | Ibm | Umsetzeranordnung |
Non-Patent Citations (2)
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 |
GB2001189B (en) | 1982-07-07 |
AU3756278A (en) | 1980-01-03 |
FR2397677B1 (de) | 1984-07-20 |
GB2001189A (en) | 1979-01-24 |
US4130879A (en) | 1978-12-19 |
FR2397677A1 (fr) | 1979-02-09 |
JPS5421141A (en) | 1979-02-17 |
DE2830334C2 (de) | 1988-02-25 |
JPS5829538B2 (ja) | 1983-06-23 |
CA1097818A (en) | 1981-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2900324C2 (de) | ||
DE2846117C2 (de) | Datenprozessor | |
DE2724125C2 (de) | ||
DE2616717C2 (de) | Digitales Addierwerk | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
EP0079471B1 (de) | Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit | |
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE1934365C3 (de) | Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2948668A1 (de) | Puffereinheit | |
CH644461A5 (de) | Digitale multipliziereinrichtung. | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
DE2830334A1 (de) | Multipliziereinrichtung | |
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
DE3856139T2 (de) | Mikroprozessor | |
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE69326403T2 (de) | Multiplikationswerk und Vorrichtung zur Steuerung der Stromversorgung zu selektierten Teilen eines Multiplikationswerks | |
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 | |
DE69615313T2 (de) | Architektur einer ausführungseinheit zum stützen des x86-befehlssatzes und der segmentierten x86-adressierung | |
DE2952163A1 (de) | Dv-anlage mit zwei datenprozessoren |
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 |