DE2855722A1 - Einrichtung zur berechnung von produktsummen - Google Patents
Einrichtung zur berechnung von produktsummenInfo
- Publication number
- DE2855722A1 DE2855722A1 DE19782855722 DE2855722A DE2855722A1 DE 2855722 A1 DE2855722 A1 DE 2855722A1 DE 19782855722 DE19782855722 DE 19782855722 DE 2855722 A DE2855722 A DE 2855722A DE 2855722 A1 DE2855722 A1 DE 2855722A1
- Authority
- DE
- Germany
- Prior art keywords
- bit
- bits
- accumulator
- input
- multiplier
- 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.)
- Withdrawn
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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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/4806—Computations with complex numbers
- G06F7/4812—Complex multiplication
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
te/ms
linrichtung zur Berechnung von Produktsummen
linrichtung zur Berechnung von Produktsummen
Die Erfindung betrifft eine Einrichtung zur Berechnung von Produktsummen nach dem Oberbegriff des Hauptanspruchs.
Die Signalverarbeitung, wie sie in der Zeichenerkennung, der Datenübertragung und der Spektralanalyse auftritt, verlangt
die Verarbeitung einer großen Anzahl von Datenelementen in kurzer Zeit. Mit einem herkömmlichen Computer ist das in
Realzeit nicht möglich. Früher wurden die Signale in analogen und digitalen Spezialschaltungen verarbeitet, die auf besondere
Anwendungen zugeschnitten waren. Das erste Digitalsystem für die Signalverarbeitung nahm die Form von relativ preiswerten
Mikroprozessoren an.
In der französischen Patentschrift Nr. 2 296 221 und der entsprechenden
deutschen Offenlegungsschrift 2 554 652 wird ein nodulares Signalverarbeitungssystem beschrieben, das nach dem
Master-Slave-Prinzip (Steuergerät mit abhängigem Gerät) arbeitet. Das Grundsystem besteht aus einem als Steuereinheit
dienenden Mikroprozessor und einem spezialisierten Mikroprozessor, der als Multiplikator-Akkumulator dient. Wenn die
Verarbeitung des Signals eine größere Rechenleistung verlangt,
rd ein als Multiplikator-Akkumulator dienender zweiter mikroprozessor zu dem ersten Mikroprozessor dazugeschaltet.
Em Bereich der Spektralanalyse und der Hochgeschwindigkeitslatenverarbeitung
gehört zur Signalverarbeitung im wesentlichen die Berechnung der Produkte von Konvolutionen und Korre-Lationen
komplexer Zahlen (digitale Filterung, Berechnung äiskreter Fourier-Transformationen), d.h., die Summe der
fr 976 013 909828/0723
Produkte zweier komplexer Operanden ist zu errechnen. Das verlangt offensichtlich eine sehr große Rechenleistung, da
zur Berechnung nur eines Produktes zweier komplexer Operanden vier Multiplikationen ausgeführt werden müssen, von denen zwei
den Realteil des Produktes und die anderen beiden den imaginären Teil bestimmen. Diese vier Multiplikationen könnten hintereinander
ausgeführt werden, das ist jedoch in den zugeordneten kurzen Zeitabschnitten kaum möglich. Sie könnten
parallel ausgeführt werden, dann müßten aber in einem System der oben beschriebenen Art wenigstens zwei Mikroprozessoren
vorgesehen werden, die als Multiplikator-Akkumulator in Verbindung mit einem Algorithmus verwendet werden, der die realen
und imaginären Teile der Ergebnisse der vier Multiplikationen zusammensetzt.
Die vorliegende Erfindung stellt sich daher die Aufgabe, eine Einrichtung anzugeben, die die Produktsummen zweier
komplexer Operanden berechnen kann, worin der reale und der imaginäre Teil des Produktes zweier komplexer Operanden
gleichzeitig in einer Multiplikations- und Akkumulationseinrichtung
berechnet werden.
Diese Aufgabe wird durch die im Hauptansprüch gekennzeichnete
Irfindung gelöst; Ausgestaltungen der Erfindung sind in den ünteransprüchen gekennzeichnet.
Die vorliegende Erfindung betrifft einen spezialisierten Prozessor zur Berechnung der Summe von Produkten S =Σ +Pi,
worin jedes Produkt Pi das Produkt zweier jeweils n-Bit großer komplexer Operanden Ai + J Bi (der Multiplikator)
und Ci + j DI (der Multiplikand:) ist und worin j =>^ ist.
Der Prozessor enthält einen Befehlsspeicher, Einrichtungen zur Decodierung der aus besagten Speicher ausgelesenen Befehle und
zur Steuerung der Operation des Prozessors, einen Datenspeicher und eine Multiplikations- und Akkumulatoreinheit. Diese besteht
aus zwei Multiplikations-Akkumulatoren und mehreren Puffern zum Speichern der Operanden Ai, TU, CA und ΤΉ , cite
fr 976 013 909828/0723
sequentiell aus dem Datenspeicher ausgelesen werden. Der Realteil Ai und der Imaginärteil Bi des Multiplikators werden
entsprechend an die Multiplikatoreingänge des Multiplikator-Akkumulators angelegt und der Realteil Ci des Multiplikanden
an die Multiplikandeneingänge dieses Gerätes, die gleichzeitig
die Produkte Ai, Ci und Bi, Ci errechnen. Der imaginäre Teil Di des Multiplikanden wird dann an die Multiplikandeneingänge
der Multiplikator-Akkumulatoren angelegt. Der erste Multiplikator-Akkumulator berechnet dann das Produkt -Bi χ Di und
addiert es zu dem Produkt Ai Ci, während der zweite Multiplikator-Akkumulator das Produkt Ai Di berechnet und es zum Produkt
Bi Ci addiert. So liefern die beiden Multiplikator-Akkumulatoren gleichzeitig den realen und den imaginären Teil
des Produktes Pi.
in Ausführungsbeispiel der Erfindung ist in den beigefügten Zeichnungen dargestellt und wird anschließend näher beschrieben
. Es zeigen:
Fig. 1 schematisch ein Signalverarbeitungssystem mit einem Mikroprozessor nach der Erfindung,
Fig. 2 mit den Fign. 2A bis 2E im einzelnen den erfindungsgemäßen Mikroprozessor, .
Fig. 3 das Format eines Mikrobefehles,
Fig. 4 die Bildung einer RAM-Adresse in indirekter Adress ierung,
?ig. 5 die Bildung einer ROS-Adresse aus dem Feld "nächste
Befehlsadresse" des laufenden Befehles,
i"ig. 6 das Format eines Steuerwortes (CW),
fr 976 013 909828/0723
Fig. 7 ein Grundbestandteil des Multiplikator-Akkumulators 14,
Fig. 8 schematisch eine Addier-Subtrahierzelle,
Fig. 9 in einem Zeitdiagramm die Arbeitsweise des erfindungsgemäßen
Prozessors und
Fig. 10 das Abschneiden des Ergebnisses in einem Multiplikator-Akkumulator
.
In Fig. 1 ist ein Signalverarbeitungssystem gezeigt, das den
erfindungsgemäßen Mikroprozessor enthält. Das System besteht aus zwei komplementären mikroprogrammierten Mikroprozessoren.
Einer davon ist ein erfindungsgemäßer Mikroprozessor, der eine spezialisierte Multiplikations- und Akkumulationseinheit darstellt,
die im Fließbandverfahren Produktsummen "zweier komplexer Operanden errechnet und hier mit PMAU bezeichnet ist. Der
andere Mikroprozessor ist ein Vielzweck-Mikroprozessor, der als Steuereinheit für die PMAü dient und hier mit CU bezeichne
ist. Die PMAU enthält eine Multiplikations- und Akkumulatorein heit, die aus zwei 16 χ 16 Bits großen Multiplikator-Akkumula
toren besteht, die überlappt arbeiten und gleichzeitig den realen Teil und den imaginären Teil des Produktes zweier komplexer
Operanden errechnen und diese Produkte akkumulieren können. Die CU kann aus einem Vielzweck-Mikroprozessor des
in der französischen Patentschrift Nr. 2 296 221 beschriebenen Typs bestehen.
Das zu verarbeitende Analogsignal wird über die Leitung 1 an den Eingang eines Analog/Digitalwandlers 2 angelegt und dort
abgefragt und zu bestimmten Zeitpunkten unter Steuerung eines phasensynchronisierten Oszillators (PLO) quantifiziert. Die
vom Analog/Digitalwandler 2 gelieferten digitalen Abtastwerte
976 013 909828/0723
werden der PMAU über eine Sammelleitung 3 zugeführt. Der Datenaustausch zwischen der PMAU und der CU erfolgt über die
bidirektionale Sammelleitung 4. Die CU kann auch unabhängige Aufgaben in Verbindung mit verschiedenen Eingabe-Geräten
ausführen. Bei der Datenübertragung beispielsweise wird das analoge Eingangssignal zu bestimmten Zeitpunkten abgefragt,
die von der Verarbeitung des Eingangssignales selbst abhängen. In dem in Fig. 1 gezeigten System stellt die Leitung 5 die
Tatsache dar, daß die PMAU den PLO steuert. In dem in Fig. 1 gezeigten System ist die Verarbeitung des Signales aufgeteilt
in eine Folge von zeitabhängigen Grundaufgaben, die in geeigneter
Reihenfolge ausgeführt werden. Diese Grundaufgaben, die
eine große Rechenleistung verlangen, werden in der PMAU ausgeführt, während die Aufgaben, die nur Additionen oder logische
Operationen betreffen (UND, ODER, antivalente Verbindung usw.), in der CU ausgeführt werden.
In den Fign. 2A bis 2E ist die erfindungsgemäße PMAU im Blockdiagramm
dargestellt. Diese Einheit besteht hauptsächlich aus einem Befehlsspeicher 10 und der zugehörigen Adressierschaltung
11, einem Datenspeicher 12 und der zugehörigen Adressierschaltung 13, einer Multiplikations- und Akkumulatoreinheit 14
und einer Schnittstelle 15.
Der Befehlsspeicher 10 ist ein Festwertspeicher (ROS), der im gezeigten Beispiel 2K Mikrobefehle enthält, von denen jeder
36 Bits lang ist und durch eine Adresse angesteuert wird, die von den Befehlsspeicher-Adreßschaltungen 11 geliefert wird.
Eine Mikrobefehlsadresse ist 10 Bits lang und ermöglicht so eine Adressierung von 4K Mikrobefehlen. Die Adresse des nächsten
Mikrobefehles erhält man entweder aus dem laufenden Mikro befehl oder von einem von der CU empfangenen Steuerwort.
Der Datenspeicher 12 ist ein Random-Speicher (RAM), der im gezeigten
Beispiel 1024 Datenwörter mit je 18 Bits speichern
fr 976 013 90 9828/072 3
kann. Jedes Datenwort besteht aus 16 Datenbits, einem Markierungsbit
und einem Steuerbit. Die Datenspeicher-Adreßschaltungen 13 bestehen aus drei Indexregistern zur indirekten
Adressierung des Datenspeichers 12.
Die Multiplikation- und Akkumulatoreinheit 14 besteht aus
zwei 16 χ 16 Bits großen Multiplikator-Akkumulatoren MAC und MAC 2, die überlappt arbeiten.
Die Schnittstelle 15 gestattet den Datenaustausch zwischen der CU (Fig. 1) und der PMAU über eine acht Bit große bidirektionale
Sammelleitung 4. Diese Schnittstelle empfängt auch die digitalen Abtastwerte des zu verarbeitenden Signales
vom Analog/Digitalwandler 2 über die 13 Bit große Sammelleitung 3 (Fig. 1).
Bevor das in Fig. 2 gezeigte Gerät genau beschrieben wird, wird zuerst das Format eines Mikrobefehles beschrieben.
Mikrobefehlsformat
(Die verschiedenen in diesem Abschnitt erwähnten Geräte und Referenzen werden später genauer beschrieben)
Jeder Mikrobefehl ist 36 Bits lang und enthält die nachstehenden Felder:
Paritätsfeld 2 Bits
Feld für ürsprungs-/Bestimmungsort 6 Bits
Operationscodefeld (ΘΡ-Code) 2 Bits
RAM-Adreßfeld 10 Bits
Indexfeld 1 Bit Steuerfeld für Multiplikationseinheit 6 Bits
Verzweigungsfeld 2 Bits
Feld für nächste Befehlsadresse 7 Bits (Siehe Fig. 3).
FR 976 013 909828/0723
Paritätsfeld (Bits O und 35)
Dieses Feld dient dazu, den Befehlsspeicher 10 zu steuern.
Bit 0 steuert die erste Hälfte des Befehlsspeichers 10. Sein Wert ist so, daß die ersten 18 Bits des Mikrobefehles
eine ungerade Zahl von Einsen enthalten.
Bit 35 steuert die zweite Hälfte des Befehlsspeichers 10. Sein Wert ist so, daß die letzten 18 Bits des Mikrobefehles
eine ungerade Zahl von Einsen enthalten.
Feld für Ursprungs-/Bestimmungsort (Bits 2-7)
Die sechs Bits dieses Feldes bezeichnen das Gerät, an das Dater zu senden sind oder von dem Daten zu empfangen sind, während
ein Mikrobefehl ausgeführt wird. Das betroffene Gerät kann irgendeine Serialisierungseinrichtung, ein Akkumulator,
Ausgaberegister der Multiplikations- und Akkumulatoreinheit 14 die Eingabe/Ausgaberegister oder die A/D-Register der Schnittstelle
15 oder eines der Indexregister sein. Die nachstehende
Tabelle gibt die Werte der Bits 2 bis 7 des Feldes für den Ursprungs-/Bestimmungsort
nach dem jeweils angesteuerten Gerät an.
fr 976 013 909828/0723
2865722
Adressiertes Gerät Feld für Ursprungs-/
Bestimmungsort
Akkumulatoren Serialisierungseinheit SER Serialisierungseinheit SER
Ausgaberegister REG Ausgaberegister REG E/A-Register Lesen E/A-Register Schreiben
Indexregister IR 1 Indexregister IR 2 Indexregister IR 3 A/D-Register
(X = ignoriert)
Operationscodefeld und Verzweigungsfeld (Bits 8-9) und 26 - 27
Diese vier Bits geben die Richtung an, in der Daten relativ zum Datenspeicher 12 bewegt werden sollen und gegebenenfalls
die Verzweigungsbedingungen. Außerdem geben sie an, ob das Markierungsbit in den Datenspeicher 12 zu schreiben ist und
sie steuern die an die CU gesendeten Unterbrechungsanforderungen .
Die verschiedenen Operationen und Verzweigungsbedingungen sind wie folgt definiert:
2 | 3 | 4 | 5 | 6 | 7 |
1 | 0 | 0 | 0 | X | X |
0 | 1 | X | 0 | 0 | 0 |
0 | X | 1 | 0 | 0 | 0 |
X | 0 | 0 | 0 | 1 | 0 |
X | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 1 | 0 |
0 | 0 | 0 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 1 | 1 |
FR 976 013 909828/0723
RAM | 0 O | Indexfeld | 12 - | 2855722 | 1 0 | 1 1 | - | ,Unter | (direkte Adressierung). | Wenn | (indirekte | Adres- | |
Opera | Feld gibt | 0 1 | brechung | auf 1 steht, bekommt man die RAM-Adresse von dem | |||||||||
Bits | tion | im RAM-Adreßfeld angegebenen Indexregister | |||||||||||
26 - | sierung). | ||||||||||||
Bits 27 | keine | Verzweigen | |||||||||||
8-9 | Opera | Verzweigen, | wenn A/D | ,Unter | |||||||||
O O | tion | wenn Unter | Anforde | brechung | |||||||||
brechungs | rung = 1 | ||||||||||||
endeleitung | (Test A/D) | ||||||||||||
Lesen | keine | hoch | Verzweigen | ||||||||||
Verzwei | Verzweigen, | wenn A/D | ,Unter | ||||||||||
O 1 | gung | wenn Kenn | Anforde | brechung | |||||||||
zeichenbit | rung = 1 | ||||||||||||
= 1 | Test (A/D) | ||||||||||||
Schrei | keine | Verzweigen | |||||||||||
ben | Verzwei | Verzweigen, | wenn A/D | , Unter | |||||||||
gung | wenn Ergeb | Anforde | brechung | ||||||||||
nis von MAC1 | rung = 1 | ||||||||||||
positiv ist | (Rest A/D) | ||||||||||||
Schrei | keine | Verzweigen, | |||||||||||
ben + | Verzwei- | Verzweigen, | wenn A/D | ||||||||||
1 1 | Kennzei-gung | wenn Ergeb | Anforde | für den Daten- | |||||||||
chenbit | nis von MAC1 | rung = 1 | das Indexbit auf O steht, wird die RAM- | ||||||||||
setzen | positiv ist | geliefert | |||||||||||
Bit große | (Bit 20) | ||||||||||||
an. Wenn | die Adreßart | ||||||||||||
Dieses ein | RAM-Feld | ||||||||||||
speicher 12 | |||||||||||||
Adresse vom | |||||||||||||
dieses Bit | |||||||||||||
FR 976 013
909828/0723
RAM-Adreßfeld (Bits 10 - 19)
Die zehn Bits dieses Feldes geben entweder eine direkte Adresse im RAM oder die Adresse eines Indexregisters und den Erhöhungswert an, der zu dem Inhalt des Indexregisters nach der laufenden
Operation zu addieren ist. Dieses Feld erzeugt auch direkte Befehle für das Statusregister, den PLO oder andere
an den Mikroprozessor angeschlossene Geräte.
Stfenn das Indexbit (Bit 20) auf 0 gesetzt ist, gibt dieses
Feld eine direkte Adresse im RAM an. Wenn es auf 1 gesetzt ist, haben die zehn Bits des RAM-Adreßfeldes folgende Bedeutung
Bit 18 |
Bit 19 |
0 | 0 |
0 | 1 |
Bits 10-17 sind Steuerbits
Die RAM-Adresse wird vom Indexregister IR 1
geliefert.
Die RAM-Adresse wird vom Indexregister IR 2 geliefert.
Die RAM-Adresse wird vom Indexregister IR 3 geliefert.
Bits 15-17 Diese Bits definieren den Erhöhungswert, der zu dem Inhalt des durch die Bits 18-19 bezeichneten
Indexregisters zu addieren ist. Dieser Wert wird zu dem Inhalt des angegebenen Indexregisters nach einem RAM-Zugriff addiert.
Bits 10-14 Diese Bits werden mit dem Inhalt des durch die Bits 18 und 19 angegebenen Indexregisters kombiniert.
Wenn die Bits 10-14 mit dem Indexregister IR 1 oder IR 2 benutzt werden (sechs Bit große Register), liefern die Bits 10-13
die werthöchsten Bits der RAM-Adresse und das
Bit 14 wird mit dem werthöchsten Bit des Indexregisters ODER-verknüpft (s. Fig. 4).
fr 976 013 909828/0723
Wenn diese Bits mit dem Indexregister IR 3 benutzt werden (zehn Bit großes Register), werden
die Bits 10-14 mit den werthöchsten Bits des IR 3 ODER-verknüpft (s. Fig. 4).
Wenn die Bits 18 und 19 beide auf 0 stehen, sind die Bits
10-17 Steuerbits und haben folgende Bedeutung:
Bit 10 Durch dieses Steuerbit wir die Frequenz des PLO erhöht.
Bit 11 Durch dieses Steuerbit wird die Frequenz des
PLO heruntergesetzt.
Bit 12 Durch dieses Bit wird der Anzeiger (IND) zurückgestellt.
Bits 13-17 Mit diesen Bits werden Einsen in die Bits
11 - 15 des acht Bit großen PMAU-Steuerbytes gesetzt.
Dieses Feld enthält die gesamte oder einen Teil der nächsten Mikrobefehlsadresse. Im Eingabebetrieb (Später zu definieren)
wird das Eingabeadreßregister betätigt. Die Bits 28 bis 33 des NIA-Feldes werden in das Eingabeadreßregister geschrieben und
Bit 34 wird ignoriert. Im Verarbeitungsbetrieb (später zu definieren) werden die Bits 28-33 links- oder rechtsbündig bezogen
auf die Bits der Adresse für den Befehlsspeicher 10 gesetzt, abhängig von der Stellung des Bit 34. Wenn Bit 34
auf 0 steht, werden die Bits 28 bis 33 linksbündig gesetzt, wenn es auf 1 steht, rechtsbündig (s. Fig. 5).
Die Bits 28-33 werden in die Eingaberegister oder in die Verarbeitungsregister
geladen, während ein Mikrobefehl ausgeführt wird.
976 °13 909828/0723
Steuerfeld für Multiplikationseinheit (Bits 1 und 21 - 25)
Dieses Feld steuert den Betrieb der Multiplikation- und Akkumulatoreinheit
14.
Bit 1 Dieses Bit steuert die Querverbindung zwischen
MAC 1 und MAC 2. Wenn das Bit 1 auf 0 gesetzt ist speist die Serialisierungseinrichtung SER 1 in
RAC 1 oder LAC 1 ein und die Serialisierungseinrichtung SER 2 speist RAC 2 oder LAC 2.
Wenn das Bit 1 auf 1 gesetzt ist, speist die Serialisierungseinrichtung SER 1 ein in RAC 2
oder LAC 2 und die Serialisierungseinrichtung SAR 2 speist RAC 1 oder LAC 1.
Bit 21 Dieses Bit steuert die Datenverschiebungen innerhalb
von MAC 1 und MAC 2. Wenn Bit 21 auf 0 gesetzt ist, erfolgen keine Verschiebungen, wenn
Bit 21 auf 1 gesetzt ist, wird eine Verschiebung ausgeführt.
Bit 22 Dieses Bit steuert das Laden der Ausgaberegister
von den durch Bit 23 angegebenen Akkumulatoren. Nachdem diese Register geladen sind, setzt
Bit 22 die Akkumulatoren auf 0, stellt das Abrundungswort ein und bereitet die nächste Operation
vor. Wenn Bit 22 auf 0 gesetzt ist, wird keine Aktion eingeleitet. Wenn Bit 22 auf 1 gesetzt
ist, werden die Ausgaberegister geladen und dann die Einheit zurückgestellt und das Abrundungswort
eingestellt.
Bit 23 Dieses Bit zeigt an, welche Akkumulatoren die
Ausgabe der Serialisierungseinrichtungen empfangen sollten oder ihren Inhalt in die Ausgaberegister
laden sollten. Auf 0 gesetzt gibt das
PR976013 909828/0723
Bit 23 die rechten Akkumulatoren und auf 1 gesetzjt die linken Akkumulatoren an.
Bits 24/ 25 Diese Bits geben die Form des in den durch das
S/D-Feld angegebenen Akkumulator oder die Serialisierungseinrichtung
geladenen Operanden an. Wenn in eine Serialisierungseinrichtung geladen wird, bedeuten:
Operand in Normalform
Operand in invertierter Form
Operand im absoluten Wert
Operand im invertierten absoluten Wert
Beim Laden in einen Akkumulator bedeuten:
Bit Bit
24 25
24 25
Bit 24 |
Bit 25 |
0 | 0 |
O | 1 |
1 | 0 |
1 | 1 |
0 0 Operanden in Normalform 0 1 Operanden in RAC 2 und LAC 2 in Normalform
Operanden in RAC 1 und LAC 1 in invertierter Form
0 Operanden in RAC 1 und LAC 1 in Normalform
Operanden in RAC 2 und LAC 2 in invertierter Form
1 Operanden in invertierter Form
In den Fign. 2A - 2E ist gezeigt, wie zwei Paritätsbits des aus dem Befehlsspeicher 10 ausgelesenen Mikrobefehles über die
Leitungen 20 an herkömmliche ParitätsSteuerschaltungen PTY
angelegt werden, die aus drei Antivalenzschaltungen bestehen. Die Paritätssteuerschaltungen 21 empfangen natürlich auch
die anderen 34 Bits des Mikrobefehles, im Interesse der
FR 976 013
Klarheit sind jedoch die Leitungen weggelassen, durch die diese 34 Bits an die Paritätssteuerschaltung 21 angelegt
werden. Die Paritätssteuerschaltungen 21 liefern zwei Bits,
die die Ergebnisse der auf jeder Hälfte des Befehlsspeichers ausgeführten Prüfungen angeben und über die Leitungen 22 an
die Schnittstelle 15 geleitet werden.
Die zehn Bits des RAM-Adreßfeldes (Bits 10 - 19) und das Indexbit
(Bit 20) des Mikrobefehles werden über eine elf Bit große Sammelleitung 23 an ein Befehlsregister 24 gegeben. Die im
Befehlsregister 24 gespeicherten Bits 18-20 werden an eine
Decodierschaltung 25 geleitet, während die Bits 10 - 17 an einen Eingang eines Sammelleitungsschalters mit zwei Ausgängen
26 gegeben werden. Einer der Ausgänge des Sammelleitungsschalters 26 ist über die Sammelleitung 27 mit der Schnittstelle
15 verbunden und der andere Ausgang über die Sammelleitung 28 mit dem Eingang eines Speicheradreßregisters RAR
Der Ausgang eines Erhöhungsregisters 30 ist über das IR 1-Tor nit dem Indexregister IR 1, über das IR 2-Tor 32 mit dem Indexregister
IR 2 und über das IR 3-Tor 33 mit dem Indexregister verbunden. Die Ausgaben von den Indexregistern IR 1, IR 2 und
IR 3 werden über das RAR 1-Tor 34, das RAR 2-Tor 35 und das RAR 3-Tor 36 an das Speicheradreßregister 29 und außerdem an
den Eingang eines ODER-Gliedes 37 durch die Quellentore 38, und 40 angelegt. Der Ausgang des ODER-Gliedes 37 ist über eine
Sammelleitung 41 mit einer 18 Bit großen bidirektionalen
internen Sammelleitung 42 verbunden, die an den Eingang der Indexregister IR 1, IR 2 und IR 3 über eine Sammelleitung
und die Bestimmungstore 44, 45 bzw. 46 angeschlossen ist. Die interne Sammelleitung 42 ist außerdem über eine Sammelleitung
48 mit einer Decodierschaltung 47 verbunden.
Im Betrieb decodiert die Decodierschaltung 25 während der Ausführung eines Mikrobefehles die Bits 18 - 20. Wenn die
Bits 18 und 19 beide auf 0 stehen und das Bit 20 auf 1, dann
fr 976 013 909828/0723
sind die im Befehlsregister 24 gespeicherten Bits 10-17 teuerbits, die über den Sammellextungsschalter 26 und die
Sammelleitung 27 an die Schnittstelle 15 geleitet werden. Wenn das Indexbit 20 auf 0 steht, dann geben die Bits 10 17
eine Datenspeicheradresse an, die dann über den Sammelleitungsschalter 26 und die Sammelleitung 28 im Speicheradreßregister
29 gespeichert wird. Wenn eines der Bits 18 und 19 auf 0 steht und das Indexbit 20 auf 1 gesetzt wird, heißt
das, daß der Datenspeicher 12 indirekt adressiert wird. Die Decodierschaltung 25 betätigt abhängig davon, welches der
Indexregister IR 1, IR 2 oder IR 3 durch die Bits 18 und 19
bezeichnet werden, das RAR 1-Tor 34, da? RAR 2-Tor 35 oder das
RAR 3-Tor 36. Die im Befehlsregister 24 gespeicherten Bits 10 bis 14 werden über die Sammelleitung 28 an das Speicheradreßregister
29 geleitet, wo sie mit dem Inhalt des durch die Bits 18 und 19 bezeichneten Indexregisters gemäß Darstellung
in Fig. 4 kombiniert werden. Die so im Speicheradreßregister 29 erhaltene Adresse wird über die RAM-Adreßsammelleitung
49 an den Datenspeicher 12 gegeben. Die im Datenspeicher 12 ausgeführten Lese- und Schreiboperationen
werden später beschrieben. Nachdem das Adreßregister 29 geladen wurde, wird der Inhalt des angegebenen Indexregisters
um einen Wert erhöht, der durch die in das Erhöhungsregister 30 über eine Sammelleitung 28 und eine Sammelleitung 50 geladenen
Bits 15 bis 17 definiert ist. Der im Erhöhungsregister
30 gespeicherte Wert wird durch eines der Tore 31, oder 33, das durch die Decodierschaltung 25 entsprechende
Decodierung der Bits 18 und 19 betätigt wurde, in das angegebene
Indexregister geleitet. Der klareren Darstellung halber wurden die Schaltungen in der Zeichnung nicht gezeigt,
die die Addition des Erhöhungswertes zum Inhalt des Indexregisters ermöglichen. Die Indexregister IR 1 bis IR 3 können
ebenfalls über die interne Sammelleitung 42 während der Ausführung eines Mikrobefehles oder eines später zu definierenden
Steuerwortes geladen werden. Das Laden der Indexregister
fr 976 013 909828/0723
fahrend der Ausführung eines Mikrobefehles wird gesteuert
.urch die Bits 3 bis 5 des Feldes für Ursprungs-ZBestimmungsrt
des betreffenden Mikrobefehles. Die Bits 3 bis 5 kommen
/on der Sammelleitung 51, auf der die aus dem Befehlsspeicher O ausgelesenen sechs Bits 2 bis 7 des Feldes für Ursprungs-/
5estimmungsort des Mikrobefehles zur Verfügung stehen, und
werden über eine Sammelleitung 52 in ein Befehlsregister 53 geladen. Eine Decodierschaltung 54 betätigt über nicht dargeteilte
Steuerleitungen eines der Bestimmungstore 44 bis 46,
abhängig davon, welches der Indexregister IR 1 bis IR 3 durch die Bits 3 bis 5 angegeben wurde. Die auf der internen Samnelleitung
42 liegenden Daten werden dann in das angegebene Indexregister über die Sammelleitung 43 und das betätigte
Bestimmungstor 44, 45 oder 46 geladen. Die Indexregister werden während der Ausführung eines auf der internen Sammelleitung
42 liegenden Steuerwortes unter Steuerung der Bits 3 bis
des Steuerwortes geladen. Die Decodierschaltung 47 decodiert die Bits 3 bis 5 des Steuerwortes und betätigt eines der Bestimmungstore
44 bis 46, abhängig davon, welches Indexregister IR 1 bis IR 3 durch die Bits 3 bis 5 bezeichnet wurde.
Die Bits 6 bis 17 des Steuerwortes werden dann in das angegebene
Indexregister über die Sammelleitung 43 und das betätigte Bestimmungstor 44, 45 oder 46 geladen. Der Inhalt des
Indexregisters kann während der Ausführung eines Mikrobefehles unter Steuerung der Bits 3 bis 5 des Feldes für Ursprungs-/
Bestimmungsort des betroffenen Befehles im Datenspeicher 12
gespeichert werden. Die Decodierschaltung 54 betätigt eines der 2uellentore 38 bis 40, abhängig davon, welches der Indexregister
IR 1 bis IR 3 durch die Bits 3 bis 5 angegeben wurde. Der Inhalt des angegebenen Indexregisters wird über das
betätigte Quellentor, das ODER-Glied 37 und die Sammelleitung
41 auf die interne Sammelleitung 42 gesetzt. In Verbindung nit der Arbeitsweise der Schnittstelle 15 wird später noch
beschrieben, wie ein Steuerwort auf die interne Sammelleitung
42 gesetzt wird.
909828/0723
FR 976 013
- 20 Lese-ZSchreiboperationen im RAM
Datenübertragungen von und zum Datenspeicher 12 werden anschließend
beschrieben. Die Dateneingabe zum Datenspeicher 12 ist mit der internen Sammelleitung über die Dateneingabeleitung
60 verbunden. Die Datenausgabe des Datenspeichers 12 ist mit einer Datenausgabesammelleitung 61 verbunden und diese mit
einem Sammelleitungsschalter 62, der aus den drei Toren 63,
64 und 65 besteht. Die Sammelleitung 61 ist mit dem Eingang des Tores 63 verbunden, dessen Ausgang über eine Leitung 66 mit der
internen Sammelleitung 42 verbunden ist. Der Eingang des Tores 64 ist an die AusgangsSammelleitung 67 der Multiplikationsund
Akkumulatoreinheit 14 und ihr Ausgang über die Sammelleitung 66 an die interne Sammelleitung 42 angeschlossen. Die
Sammelleitung 42 ist außerdem mit dem Eingang des Tores 65 verbunden, dessen Ausgang an die Eingangssammelleitung 68 der
MuItiplikations- und Akkumulatoreinheit 14 angeschlossen ist.
Während der Ausführung eines Mikrobefehles im Datenspeicher durchgeführte Lese- und Schreiboperationen werden durch die
Bits 8 und 9 des Operationscodefeldes des Mikrobefehles gesteuert. Diese auf der Sammelleitung 69 am Ausgang des Befehlsspeichers 10 verfügbaren Bits werden in einem Befehlsregister
70 gespeichert und durch eine Decodierschaltung 71 decodiert, die selektiv eine Lese/Schreib-Steuerleitung 72 entsprechend
dem Wert der Bits 8 und 9 aktiviert, wie es im Kapitel "Mikrobefehlsformat11
beschrieben wurde. Die Leitung 72 ist mit dem Datenspeicher 12 verbunden.
Wenn eine Schreiboperation auszuführen ist, ist das Signal auf der Lese-/Schreib-Steuerleitung 72 hoch und die auf der internen
Sammelleitung 42 liegenden Daten werden über die Dateneingabeleitung 60 in den Datenspeicher 12 übertragen und dort an
der auf der RAM-Adreßsammelleitung 49 angegebenen Adresse gespe chert. Die Daten auf der internen Sammelleitung 42 kommen von
fr 976 013 9 0 9828/0723
einem der Indexregister gemäß obiger Beschreibung oder von der Datenausgabesammelleitung 67 der Multiplikation- und Akkumulatoreinheit
14 oder von der Schnittstelle 15, wie später noch zu sehen sein wird. Die Daten auf der Ausgabedatensammelleitung
67 werden über die interne Sammelleitung 42 durch das Tor 64 übertragen, das durch eine Decodierschaltung 73 betätigt
wird, an die die Bits 2 bis 7 des Feldes für ürsprungs-/Bestimmungsort über die Sammelleitung 51 und eine Sammelleitung
74 angelegt werden. Das Tor 64 wird durch die Decodierschaltung 73 betätigt, wenn die Bits 2 bis 7 das Ausgaberegister
REG 1 oder REG 2 als Datenquelle angeben.
Wenn eine Leseoperation auszuführen ist, ist das Signal auf der Lese-/Schreib-Steuerleitung 72 niedrig und die im Datenspeicher
12 an der auf der RAM-Adreßsammelleitung angegebenen Adresse stehenden Daten werden über die Ausgabedatensammelleitung
67 und das über die Lese-/Schreib-Steuerleitung 72 betätigte Tor 63 auf die interne Sammelleitung 42 gegeben.
Die Speicheradreßschaltungen 11 bestehen aus zwei Adreßregistern,
nämlich einem sechs Bit großen Eingaberegister (EINGABE) über das nur die 64 wertniederen Bitpositionen des Befehlsspeichers
10 adressiert werden können, und einem 12 Bit großen Verarbeitungsregister (VERARBEITUNG), über das der gesamte Inhalt
des BefehlsSpeichers 10 adressiert werden kann. Diese beiäen
Register können entweder aus dem Feld "nächste Befehlsadresse" des laufenden Mikrobefehles oder aus einem von der
teuereinheit (CU) empfangenen Steuerwort geladen werden. Die
Bits 28 bis 34 des NIA-Feldes, die am Ausgang des Befehlsspeichers
10 auf der Sammelleitung 80 zur Verfügung stehen, werden in einen Sammelleitungsschalter 81 eingegeben, der sie entweder
in das Eingaberegister oder in das Verarbeitungsregister lädt.
fr 976 013 909828/0723
Die Steuerung dieses Schalters 81 wird später beschrieben. Das ingabe- und das Verarbeitungsregister können auch von der
internen Sammelleitung 42 durch das Tor 65, einer Eingabeleitung 68 (Fig. 2C), einer Sammelleitung 82 und einem Sammelleitungsschalter
83 geladen werden, der diese Register selektiv speist. Die Steuerung des Schalters 83 wird später
beschrieben. Die Ausgaben des Eingabe- und des Verarbeitungsregisters werden in die Eingänge des ODER-Gliedes 84 über die
beiden Tore 85 bzw. 86 angelegt. Die Tore 85 und 86 werden entsprechend durch den wahren und den komplementären Ausgang
einer Verriegelung 87 gesteuert, die ihrerseits wieder durch eine A/D-Anforderungsleitung 88 von der Schnittstelle 15 und
durch eine A/D-Prüfleitung 89 von einer Decodierschaltung 71 (Fig. 2A) gesteuert wird (später noch genauer zu beschreiben).
Die Decodierschaltung 71 decodiert die Bits des Operationscodefeldes
gemäß obiger Erklärung sowie die Bits 26 bis 27 des Verzweigungsfeldes, die im Befehlsregister 70 gespeichert
sind, wohin sie über eine Leitung 90 geladen wurden. Die Decodierschaltung 71 betätigt die A/D-Prüfleitung 89, wenn die
Bits 26 und 27 des Verzweigungsfeldes auf 1 bzw. 0 stehen. Die k/D-Prüfleitung 89 ist mit einem ersten Eingang von 2 UND-liedern
91 und 92 verbunden, deren Ausgänge entsprechend an den Einschalt- und Rückstelleingang der.Verriegelung 87
angeschlossen sind. Die A/D-Anforderungsleitung 88 ist direkt nit dem anderen Eingang des UND-Gliedes 91 und über einen
Inverter 93 mit dem anderen Eingang des UND-Gliedes 92 verbunäen. Der Ausgang vom ODER-Glied 84 ist ein 12 Bit großes
Wort. Das wertniederste Bit dieses Wortes wird dem ersten Einjang einer Antivalenzschaltung 94 zugeführt, deren anderer
Eingang mit der Verzweigungsbedingungsleitung von einer Verzweigungsschaltung
95 verbunden ist. Die 11 werthohen Bits äes Ausgabewortes vom ODER-Glied 84 bilden zusammen mit der
Ausgabe von der Antivalenzschaltung 94 die 12 Bit große Adresse les vom Befehlsspeicher 10 zu holenden Mikrobefehles. Diese
Adresse wird über die 12 Bit große Sammelleitung 96 an den
fr 976 013 909828/0723
Jefehlsspeicher ROS 10 gegeben. Die Verzweigungsschaltung 95
aktiviert die Verzwexgungsbedxngungsleitung selektiv entsprechend der oben als Teil der Beschreibung des Mikrobefehls-"ormates
gelieferten Tabelle. Die Verzweigungsschaltung 95
ist mit der A/D-Prüfleitung 89 und der A/D-Anforderungsleitung 8 verbunden und aktiviert die Verzweigungsbedingungsleitung,
f/enn beide Leitungen 88 und 89 ein hohes Signal führen, was
der Bedingung "Verzweigen wenn A/D-Anforderung =1" entspricht.
Die Verzweigungsschaltung 95 ist außerdem mit einer Prüfunterbrechungsendleitung
(nicht dargestellt) und einer Unterbrechungsendleitung (nicht dargestellt) verbunden: wenn diese
beiden Leitungen ein hohes Signal führen, aktiviert sie die Verzweigungsbedingungsleitungen, was der Bedingung "Verzweigung
bei Unterbrechungsende" entspricht. Die Leitung für das Signal Prüfunterbrechungsende kommt von der Decodierschaltung
71, die das Signal auf dieser Leitung hochgehen läßt, wenn die Bits 8, 9, 26 und 27 entsprechend auf 0, 0,' 0 und 1 stehen.
Die Unterbrechungsendleitung kommt von einer Unterbrechungssteuerung 115 in der Schnittstelle 15.
Die Verzweigungsschaltung 95 ist weiterhin mit einer Prüftennzeichenbitleitung
(nicht dargestellt) verbunden und empfängt das Kennzeichenbit des aus dem Datenspeicher gelesenen
Wortes und aktiviert die Verzweigungsbedingungsleitung, wenn besagte Leitung hoch ist und das Kennzeichenbit auf 1 steht.
Das entspricht der Bedingung "Verzweigen wenn Kennzeichenbit = 1". Die Leitung für das Prüfkennzeichenbit kommt von der
Decodierschaltung 71, die das Signal auf dieser Leitung aniebt,
wenn die Bits 8, 9, 26 und 27 entsprechend auf 0, 1, D und 1 stehen. Das Kennzeichenbit wird an die Verzweigungsschaltung 95 über die Leitung 97 gegeben, die dieses Bit von
äer internen Sammelleitung 42 empfängt. Die Verzweigungsschaltung 95 ist außerdem an eine nicht dargestellte Prüfleitung
für REG 1 Vorzeichen angeschlossen und empfängt das zum Inhalt
fr 976 013 909828/0723
des Ausgaberegisters REG 1 der Multiplikations- und Akkumulatoreinheit
14 gehörende Vorzeichenbit und aktiviert die Verzweigungsbedingungsleitung,
wenn die Prüfleitung für das REG 1-Vorzeichen ein hohes Signal führt und das Vorzeichenbit
auf 0 steht. Das entspricht der Bedingung "Verzweigen wenn MAC 1 Ergebnis positiv ist". Das Vorzeichenbit von REG 1 wird
über die Leitung 98 an die Verzweigungsschaltung 95 angelegt. Die Vorzeichenprüfleitung für REG 1 kommt von der Decodierschaltung
71, die das Signal auf dieser Leitung hochgehen läßt, wenn die Bits 2, 9, 26 und 27 entsprechend auf 1,0, 0
1 oder auf 1, 1, 0, 1 gesetzt sind. Die Verzweigungsschaltung 95 empfängt schließlich noch über die Leitung 124 den von der
Schnittstelle 15 gelieferten Anzeiger (IND) und aktiviert die Verzweigungsbedingungsleitung, wenn die A/D-Prüfleitung 89
hoch ist und der Anzeiger auf 1 steht. Wenn die Verzweigungsbedingungsleitung aktiviert wird, werden ein Einerbit
und das wertniedrigste Bit des vom ODER-Glied 84 gelieferten Ausgabewortes modulo-2-addiert. Dadurch kann zu dem Mikrobefehl
verzweigt werden, dessen Adresse direkt der im Adreßregister enthaltenen Adresse folgt, wenn diese Adresse geradzahlig
ist (ihr wertniederstes Bit steht auf 0). Es kann aber auch zu dem Mikrobefehl verzweigt werden, dessen Adresse
unmittelbar vor der im Adreßregister stehenden Adresse steht, wenn die Adresse im Adreßregister ungeradzahlig ist (ihr
wertniederstes Bit steht auf 1).
Die Schnittstelle 15 enthält ein 18 Bit großes Eingabe-/
Ausgaberegister 100, das an eine 8 Bit große bidirektionale
ammelleitung 4 angeschlossen ist und in dem die zwischen der PMAü und der CU ausgetauschten Daten gespeichert werden.
fr 976 013 909828/0723
Das Eingabe-/Ausgaberegister 100 ist mit einem Ausgang über eine Leitung 101 an die interne Sammelleitung 42 angeschlossen,
die mit einem Eingang dieses Registers über eine Leitung 102 und ein Tor 103 verbunden ist. Die Schnittstelle 15 enthält
auch ein 16 Bit großes Statusregister 104, das über die interne
Sammelleitung 42 und eine Leitung 105 geladen werden kann. Der Inhalt des Statusregisters 104 kann direkt über eine Leitung
106 auf die bidirektionale Sammelleitung 4 gesetzt werden. Das Statusregister 104 enthält ein 8 Bit großes PLO-Steuerbyte
und ein 8 Bit großes PMAU-Steuerbyte.
Bit 0 das ist das Steuerwortbit.
Bit 1 das ist das Kennzeichenbit.
Bit 1 das ist das Kennzeichenbit.
Bit 2-6 diese Bits definieren verschiedene Signalverarbeitungsraten.
Bei einer Modemanwendung des in Fig. 1 gezeigten Systems haben die Bits 2-6 folgende Bedeutung: ,
Bits 2-4 definieren die Bitrate Bits 5-6 definieren die Signalrate.
Bit 7 dieses Bit definiert die Abfragerate.
Die Bits 0 und 1 erhält man von der internen Sammelleitung über die Leitung 105. Die Bits 2-7 werden über eine Leitung
107 an einen PLO-Zähler 108 angelegt. In dem in den Fign. 1 und 2 gezeigten Ausführungsbeispiel enthält der externe PLO
(Fig. 1) nur den eigentlichen Oszillator. Die üblichen Teilerketten, die eine Variation von Phase und Frequenz der vom PLO
gelieferten Impulse gestatten, sind in der Schnittstelle 15 enthalten und durch den PLO-Zähler 108 dargestellt. Der PLO-Zähler
108 empfängt die vom externen Oszillator gelieferten Impulse über die Leitung 109 und liefert Abfrageimpulse für
den Analog/Digitalkonverter über die Leitung 110 und Impulse für die CU in der Bit- und Signalrate über die Leitungen
fr 976 013 90 9828/072 3
bzw. 112. Der PLU-Zähler 108 wird von den Bits 2-7 des
acht Bit großen, über die Leitung 107 empfangenen PLO-Steuerbyte und von den Bits 10 bis 11 des RAM-Adreßfeldes des ausgeführten
Mikrobefehles gesteuert, wenn dieser Mikrobefehl ein Steuerwort ist, d.h. wenn die Bits 18, 19 des RAM-Adreßfeldes
beide auf 0 stehen. Diese Bits 10 bis 11 werden an den PLU-Zähler 108 über die Leitungen 27 und 113 geleitet.
Das acht Bit große PMAU-Steuerbyte enthält unter Hardwareoder
Software-Steuerung geschriebene Information.
Bit 8 dieses Bit gibt das Ergebnis der auf der
ersten Hälfte des ROS 10 ausgeführten Paritätsprüfung an.
Bit 9 dieses Bit gibt das Ergebnis der auf der
zweiten Hälfte des ROS 10 ausgeführten Paritätsprüfung an.
Bit 10 dieses Bit bezeichnet einen Lese- oder Schreibfehler durch die CU.
Bits 11 - 15 diese Bits sind nicht zugeordnet und können vom Programmierer für Softwareprüfungen
verwendet werden.
Die Bits 8-9 werden über die Leitungen 22 von den Paritätssteuerschaltungen
21 in das Statusregister 104 geladen. Die 3its 11 - 15 werden über die Leitung 27 in das Register 104
jeladen durch die Bits 13-17 des RAM-Adreßfeldes eines Mikro-Defehles,
in dem die Bits 18, 19 beide auf 0 stehen und Bit 20
iuf 1 steht. Bit 10 wird auf 1 gesetzt, sobald von der CU sine Leseoperation ausgeführt wird, wogegen von der PMAU eine
Bchreiboperation erwartet wurde oder umgekehrt. Die von der fr 976 013 9 0 9 82 8 /072 3
CU ausgeführten Lese- und Schreiboperationen werden später beschrieben.
In dem 8 Bit großen PMAU-Steuerbyte genügt ein einziges
Einerbit, um eine Unterbrechungsausnahmeanforderung einzuleiten und an die CU zu führen. Dazu werden die Bits im
'MAU-Steuerbyte ODER-verknüpft und das Ergebnis über eine Leitung 114 an eine Unterbrechungssteuerung 115 gegeben, die eine
mit der CU verbundene Unterbrechungsausnahmeleitung 116 aktiiert,
wenn besagtes Ergebnis ein Einerbit ist. Die Unterbrechungssteuerung 115 empfängt auch über die Leitung 117 eine
normale Unterbrechungsanforderung von der Decodierschaltung 1 (Fig. 2A), wenn die Bits des Operationscodefeldes und des
/erzweigungsfeldes des laufenden Mikrobefehles decodiert werden. Die Unterbrechungssteuerung 115 spricht auf einen hohen
Signalpegel auf der Leitung 117 an durch Aktivierung der normalen Unterbrechungsleitung 118, die mit der CU verbunden ist.
Die Unterbrechungssteuerung 115 ist mit einer Unterbrechungshalteleitung
119 verbunden, auf die das Bit 2 des im Eingabe-/ Ausgaberegister 100 gespeicherten Steuerwortes geleitet wird
(später zu beschreiben).
Die Schnittstelle 15 enthält auch ein 13 Bit großes A/D-Register
120, in dem die digitale Probe des zu verarbeitenden Signales gespeichert wird, wie sie vom Analog/Digital-Wandler
(Fig. 1) über die Sammelleitung 3 empfangen wurde. Diese Probe wird über die interne Sammelleitung 42 durch ein Tor 121 und
sine Leitung 122 übertragen. Eine A/D-Anforderungsschaltung
123 gibt eine A/D-Anforderungsanzeige auf die Leitung 88, wenn las A/D-Register 120 geladen ist. Eine Decodierschaltung 126
steuert den Datenaustausch zwischen der PMAU und der CU und iie übertragung der zu verarbeitenden Probe vom A/D-Register
120 an die interne Sammelleitung 42. Die Decodierschaltung 126 empfängt die Bits 3-5 des S/D-Feldes des ausgeführten
Ylikrobefehles über die Leitungen 51 und 127 und die Bits des Operationscodefeldes dieses Mikrobefehles über die Leitungen
69 und 128 und liefert über die Leitung 124 den Anzeiger IND, der durch das Bit 12 des RAM-Adreßfeldes des ausgeführten
fr 976 013 909828/0723
4ikrobefehl.es auf 0 zurückgestellt wird, wenn die Bits 18 bis
9 dieses Feldes beide auf 0 und das Bit 20 auf 1 stehen. Dieses Bit 12 wird über die Leitung 27 und eine Leitung 125
an die Decodierschaltung 126 geleitet.
Eine Decodierschaltung 129 gestattet die Decodierung der zwischen
der PMAU und der CU ausgetauschten Markierungen. Diese
Markierungen sind folgende:
TD Diese von der CU empfangene Markierung gibt an, ob die von dort über die Leitung 4 gelieferten Daten
gültig sind.
VT Diese Markierung ist eine Bestätigung der Markierung TD und wird von der PMAU an die CU gesendet.
PMAU Mit dieser von der CU empfangenen Markierung wird SELECT die PMAU gewählt, wenn die CU an mehrere Verarbeitungseinheiten
angeschlossen ist.
TA 1 Diese zwischen der PMAU und der CU ausgetauschte Markierung steuert die Datenübertragungen von und
zum Eingabe-/Ausgaberegister 100.
TA 2 Diese zwischen der PMAU und der CU ausgetauschte Markierung wird als Datenbit verwendet.
R/W Diese von der CU empfangene Markierung steuert die Richtung des Datenaustausches zwischen der PMAU und
der CU.
)ie CU kann die PMAU mittels Steuerwörtern überwachen. Ein ran der CU empfangenes Steuerwort wird in das Eingabe-/Ausgaberegister
100 eingeschrieben und anschließend im Datenspeicher O gespeichert oder direkt ausgeführt. Es hat eine Länge von
8 Bits und wird von der CU nach einer von der PMAU angefor-Werten
Unterbrechung übertragen. Das Format des Steuerwortes .st in Fig. 6 dargestellt.
FR 976 013
Bit O Dieses Steuerbit zeigt an, ob das Wort ein Steuerwort
oder ein Datenwort ist. Wenn das Bit 0 auf 0 steht, sind die Bits 2-17 Datenbits. Das Wort
(Bits 0-17) ist im RAM zu speichern. Wenn Bit 0 auf 1 steht, bilden die Bits 0-17 ein Steuerwort.
Bit 1 Dieses Bit zeigt an, ob das Steuerwort direkt auszuführen
oder im RAM zu speichern ist. Wenn das Bit auf 0 steht, ist das Steuerwort in den RAM zu schreiben,
wenn es auf 1 steht, ist es direkt auszuführen.
Bit 2 Dieses Bit gestattet der CU eine Unterbrechungsanforderung
oder die Aufrechterhaltung einer angeforderten Unterbrechung. Wenn Bit 2 auf 0 steht,
erfolgt keine Unterbrechung, wenn Bit 2 auf 1 steht, ist von der PMAU eine Unterbrechung angefordert
(nur im Falle einer direkten Ausführung, d.h. wenn Bit 1 auf 1 steht).
Diese Bits geben das Bestimmungsregister an, in das die Bits 6 - 17 zu laden sind.
Bit
5
5
0 0 Keines
0 1 Indexregister IR 1
1 0 Indexregister IR 2
11 Indexregister IR 3
0 Eintragung ROS-Adreßregister 1 Verarbeitung ROS-Adreßregister 1 0 PLO-Zähler
1 Statusregister
Bits Das sind die in das Bestimmungsregister zu ladenden 6-17 Datenbits. Diese Bits stehen rechtsbündig im Format
des Bestiiranungsregisters.
- 30 PMAU/CU-Datenübertragungen
Die CU kann keinen Datenaustausch mit der PMAU einleiten. Vor
jeder Datenübertragung fordert die PMAU eine Unterbrechung an. Die Datenübertragung wird dann durch die CU eingeleitet, die
die PMAU direkt durch Aktivierung der Markierung PMAU SELECT ansteuert. Die PMAU trennt sich von der CU, wenn diese Markierung
verschwindet.
Von der CU ausgeführte Schreiboperationen (von CU nach PMAU)
Die Daten von der Steuereinheit werden in Einheiten von jeweils 9 Bits in das Eingabe-/Ausgaberegister 100 geladen.
Die Markierung R/W wird auf 0 gesetzt.
Die Markierung TA 1 gibt an, ob die von der CU auf die Leitung 4 gesetzten 8 Bits in die werthöchsten Bitpositionen
(MSB) oder in die wertniederen Bitpositionen (LSB) des Eingabe- !lusgaberegisters 100 zu laden sind. Wenn die Markierung TA 1
auf 0 steht, sind die 8 Bits in die MSB-Positionen zu laden, und wenn die Markierung auf 1 steht, in die LSB-Positionen.
Die Markierung TA 2 wird wie folgt als"Datenbit benutzt.
Em allgemeinen werden bei einer CU-Schreiboperation die LSB-Positionen zuerst geladen. Die 8 Bits von der Leitung 4 werden
in die Positionen 10-17 des Eingabe-/Ausgaberegisters 100 und die Markierung TA 2 in die Position 1 (Kennzeichen) des
Registers geladen. Die hinterher von der CU auf die Leitung jesetzten 8 Bits werden in die Positionen 2-9 und die nächste
Markierung TA 2 in die Position 0 (Steuerbit) des Eingabe-/Ausjaberegisters
100 gesetzt.
976 °13 S09828/0723
fenn die beiden Positionen 0 und 1 des Eingabe-/Ausgaberegisters
100 auf 1 stehen, dann ist das in diesem Register enthaltene Wort ein Steuerwort, das sofort ausgeführt werden muß.
In diesem Fall kann die Position 2 auf eins gesetzt sein, um die laufende Unterbrechung zu halten. Wenn eine der Positionen
0 oder 1 nicht auf 1 steht, dann wird das im Eingabe-/Ausgaberegister 100 enthaltene Wort auf die interne Sammelleitung 42
gesetzt, um im Datenspeicher gespeichert zu werden. In diesem all geht am Ende der Schreiboperation das Signal auf der Unterbrechungsanforderungsleitung
herunter, soweit keine Unterbrechungsausnahme vom Statusregister 104 angefordert wird.
Das Steuerwort gestattet ein Laden der Eingabe- und Verarbeitungs-ROS-Adreßregister.
Die Decodierschaltung 47 (Fig. 2A) decodiert die Bits 3 - 5 des auf der internen Sammelleitung 42
stehenden Steuerwortes und aktiviert selektiv zwei Steuerleitungen 129, die das Tor 83 steuern (Fig. 2E). Die "Leitungen
sperren entweder das Tor 83, wenn keines der ROS-Adreßregister sin Bestimmungsregister ist, oder sie lassen das Tor 83 selektiv
den Inhalt der Leitung 82 an die Eingabe- und Verarbeitungs-ROS-Adreßregister
übertragen. Wenn ein ROS-Adreßregister, z.B. das Verarbeitungsregister, das Bestimmungsregister ist,
werden die Bits 6-17 des auf der internen Sammelleitung 42 liegenden Steuerwortes an das Verarbeitungsregister durch das
Tor 65 (Fig. 2C), die Leitungen 68 und 82 und das Tor 83 übertragen.
Das Tor 65 wird von der Decodierschaltung 73 entsprechend den Bits 3-5 des auf der internen Sammelleitung 42
stehenden Steuerwortes aktiviert.
Von der CU ausgeführte Leseoperationen (von der PMAU zur CU)
Die CU kann den Inhalt des Statusregisters 104 oder des Eingabe-/Ausgaberegisters
100 lesen. Im letzteren Fall muß das iingabe-Ausgaberegister 100 vorher von der PMAU geladen worden
sein.
fr 976 013 909828/0723
- 32 Die Markierung R/W wird auf 1 gesetzt.
Die Markierung TA 1 zeigt an, ob die auf die Leitung 4 gegebenen Bits von den MSB- oder von den LSB-Positionen des Eingabe
Ausgaberegisters 100 oder vom Statusregister 104 kommen müssen. Wenn diese Markierung auf 0 gesetzt ist, sind die Bits von den
MSB-Positionen zu laden, und wenn sie auf 1 steht von den LSB-Positionen.
Die Markierung TA 2 gibt an, ob der Inhalt des Eingabe-/Ausgaberegisters
100 oder der des Statusregisters 104 zu lesen ist. Wenn diese Markierung auf 0 steht, zeigt sie an, daß der
Inhalt des Eingabe-/Ausgaberegisters 100 auszulesen ist, und wenn sie auf 1 steht zeigt sie an, daß der Inhalt des Statusregisters
104 auszulesen ist.
In letzterem Fall wird der Inhalt des Statusregisters 104 direkt über die Leitung 106 auf die Leitung 4 gegeben. Das Statusregister
104 kann jederzeit ausgelesen werden, auch wenn keine Unterbrechungsanforderung von der PMAU eingeleitet ist.
Die Multiplikations- und Akkumulatoreinheit 14 besteht aus
zwei identischen 16x16 Bits großen Multiplikator-Akkumulatoren
mit den Bezeichnungen MAC 1 und MAC 2, die in diesem Fall identisch sind mit dem Multiplikator-Akkumulator, der in der
deutschen Patentanmeldung P 27 50 212.1 vom 10. Nov. 1977 beschrieben ist. Der Multiplikator-Akkumulator MAC 1 enthält
eine 16 Bit große Serialisxerungseinrxchtung SER 1, zwei 16 Bit große Akkumulatoren LAC 1 für die linke und RAC 1 für
die rechte Seite und ein 16 Bit großes Ausgaberegister REG 1.
In ähnlicher Weise enthält der MAC 2 eine 16 Bit große Serialisxerungseinrxchtung
SER 2, zwei 16 Bit große Akkumulatoren LAC 2 für die linke und RAC 2 für die rechte Seite sowie ein
fr 976 013 909828/0723
16 Bit großes Ausgaberegister REG 2. Jede Serialisierungseinrichtung
und jeder Akkumulator ist eindeutig einem Eingabepuffer mit dem Vorsatzbuchstaben B zugeordnet. So enthalten
also die Einheiten MAC 1 und MAC 2 Eingabepuffer B SER 1,
B LAC 1, B RAC 1, B SER 2, B LAC 2 und B RAC 2. Die Eingangsleitung 68 zur Multiplikation- und Akkumulatoreinheit 14 ist
mit dem Eingang eines Sammelleitungsschalters 130 verbunden. Die beiden Ausgänge des Sammelleitungsschalters sind mit der
Eingangsleitung 132 zum MAC 1 und über einen Inverter 131 mit
der Eingangsleitung 133 zum MAC 2 verbunden, der über die Leitung 160 ein komplementäres Signal empfängt. Der Sammelleitungsschalter
130 wird durch die Bits 3-5 des S/D-Feldes des laufenden Mikrobefehles gesteuert, die über die Leitung
und eine Leitung 134 dorthingeleitet werden. Die über die Eingangsleitung
132 übertragenen Bits werden parallel an die Eingabepuffer B SER 1, B LAC 1 und B RAC 1 angelegt. Der serielle
Ausgang der SER 1 ist mit den Multiplikatoreingängen des LAC 1 und des RAC 1 über die UND-Glieder 135 bzw. 136 verbunden
Der serielle Ausgang des LAC 1 ist mit dem seriellen Eingang des RAC 1 verbunden, dessen serieller Ausgang über die Leitung
137 mit dem seriellen Ausgang des LAC 1 verbunden ist. Die parallelen Ausgänge vom LAC 1 und RAC 1 werden dem Ausgaberegister
REG 1 zugeführt, dessen Ausgang mit der Ausgangssammelleitung 138 vom MAC 1 verbunden ist. Die über die Eingangsleitung
1 33 übertragenen Bits werden parallel an die Eingabepuffer B SER 2, B LAC 2 und B RAC 2 angelegt. Der serielle
Ausgang der SER 2 ist über die UND-Glieder 139 bzw. 140 mit den Multiplikatoreingängen des LAC 2 bzw. RAC 2 verbunden.
Der serielle Ausgang des LAC 2 ist mit dem seriellen Eingang des RAC 2 verbunden, dessen serieller Ausgang über die Leitung
141 mit dem seriellen Eingang des LAC 2 verbunden ist. Die parallelen Ausgänge vom LAC 2 und RAC 2 werden dem Ausgangsregister
REG 2 zugeführt, dessen Ausgang mit der Ausgangsleitung 142 vom MAC 2 verbunden ist. Der serielle Ausgang der
FR 976 013 909828/0723
SER 1 ist auch mit den Multiplikatoreingängen des LAC 2 und des RAC 2 über die Leitung 143 und die UND-Glieder 144 bzw.
145 verbunden. Der serielle Ausgang der SER 2 ist auch an die Multiplikatoreingänge des LAC 1 und des RAC 1 über die Leitung
146 und die UND-Glieder 147 bzw. 148 angeschlossen. Die Ausgangsleitungen 138 und 142 sind mit den Eingängen eines
Sammelleitungsschalters 149 verbunden, dessen Ausgang an die Ausgabedatensammelleitung 67 von der Multiplikation- und
Akkumulatoreinheit 14 angeschlossen ist. Der Sammelleitungsschalter 149 wird durch die Bits 5-7 des S/D-Feldes des laufenden
Mikrobefehles gesteuert, die über die Leitung 51 angelegt werden. Die Multiplikations- und Akkumulatoreinheit 14
enthält weiterhin eine Decodierschaltung 150, die über die
Leitung 51 und eine Leitung 151 die Bits 2-5 des S/D-Feldes des laufenden Mikrobefehles und über eine Leitung 152 die 6
Bits des Steuerfeldes für die Multiplikationseinheit des laufenden Mikrobefehles empfängt. Die Decodierschaltung 150
steuert den Betrieb der Multiplikations- und Akkumulatoreinheit 14 über nicht dargestellte Steuerleitungen. Dieser Vorgang
wird später im einzelnen beschrieben. Die Decodierschaltung 150 gibt auf die Leitung 160 außerdem ein an den Inverter
131 anzulegendes Komplementärsignal aufgrund der Decodierung
der Bits 24, 25 des Steuerfeldes für die Multiplikationseinheit .
Die aus den Serialisierungseinrichtungen, den Akkumulatoren und den zugehörigen Puffern zusammengesetzten Blöcke, d.h. die
Blöcke B SER 1 + SER 1, B LAC 1 + LAC 1, B RAC 1 + RAC 1,
B SER 2 + SER 2, B LAC 2 + LAC 2, B RAC 2 + RAC 2 bestehen aus identischen 16 Bit großen Einheiten. Jede dieser Einheiten
enthält zwei jeweils 8 Bit große Grundkomponenten, nämlich eine Komponente mit der Bezeichnung M, die die acht
werthöchsten Bits enthält, und eine Komponente mit der Bezeichnung L, die die acht wertniedrigsten Bits enthält. In
Fig. 7 ist eine solche acht Bit große Grundkomponente gezeigt. Sie hat die acht Eingänge XO - X7, an die 8 Bits von der Ein-
fr 976 013 9Ϊ9828/07 2 3
gangsleitung 132 oder 133 parallel angelegt werden. Diese können die werthöchsten oder die wertniedrigsten Bits sein, abhängig
davon, ob die Grundkomponente als M-Komponente oder als L-Komponente benutzt wird. Die Eingänge XO - X7 sind entsprechend
mit den Eingängen von 8 Verriegelungen PHO - PH7 verbunden, die den 8 Bit großen Eingabepuffer der Komponente bilden.
Die Ausgänge der Verriegelungen PHO - PH7 sind entsprechend an einen der Eingänge von 8 UND-Gliedern 160 bis 167
angeschlossen, deren anderer Eingang mit einer Multiplikatorleitung verbunden ist. Die Ausgänge der UND-Glieder 160 sind
entsprechend an einen ersten Summeneingang von 8 Zellen mit der Bezeichnung ZELLE 0 - ZELLE 7 verbunden. Hierbei handel
es sich um Addierer- oder Subtrahiererzellen, die im einzelnen noch im Zusammenhang mit Fig. 8 beschrieben werden und jeweils
einen zweiten Summeneingang und einen Summenausgang haben. Jede der Zellen 1-7 ist mit ihrem zweiten Summeneingang an
den Summenausgang der vorhergehenden Zelle angeschlossen, während der zweite Summeneingang der Zelle 0 mit dem seriellen
Eingang Sx der Grundkomponente verbunden ist. Die Summenausgänge der Zellen 1-6 sind entsprechend mit einem Eingang der
sechs UND-Glieder 169 - 174 verbunden, deren Ausgänge an die
sechs Ausgänge S1 - S6 angeschlossen sind. Der Summenausgang der Zelle 0 ist mit einem Eingang einer Antivalenzschaltung
175 verbunden, deren anderer Eingang an den Übertragsausgang der Zelle 1 angeschlossen ist. Der Ausgang der Antivalenzschaltung
175 ist mit einem der Eingänge des UND-Gliedes 168 verbunden. Der andere Eingang der UND-Glieder 168 - 174 ist
nit der Ausgangstorleitung verbunden. Der Ausgang des UND-Gliedes
168 ist an einen Ausgang SO angeschlossen. Der Summenausgang der Zelle 7 ist direkt mit einem Ausgang S7 verbunden.
Die Ausgänge SO - S7 bilden den acht Bit großen parallelen Ausgang der Grundkomponente. Der Summenausgang der Zelle 7 ist
auch mit dem seriellen Ausgang der Komponente verbunden. Eine Taktleitung ist parallel an alle Zellen 0-7 der Komponente
fr 976 013 909828/0723
angeschlossen. Eine Decodierschaltung 176 empfängt als Eingänge drei Steuerleitungen CTRL 0, CTRL 1 und CTRL 2 von der Decodierschaltung
150 (Fig. 2D) und aktiviert wahlweise die Leitung "S1 auf Einsetzen", die mit der Zelle 1 verbunden ist;
die Leitung "LSB Addieren", die mit der Zelle 7 verbunden ist; die Leitung "S1 auf 0 setzen", die mit der Zelle 1 verbunden
ist; die Leitung "MSB Subtrahieren", die mit der Zelle 0 verbunden ist; die Leitung "Ausgabe" zu den UND-Gliedern 168
bis 174; die Leitung "Eingabe X" zu den Verriegelungen PHO PH7 und die Leitung "auf 0 setzen" zu den Zellen 0 und 2-7.
Die Befehle auf diesen Leitungen werden gemäß der nachfolgenden Tabelle von den Steuerleitungen CTRL 0, CTRL 1 und CTRL 2 erzeugt
.
- 36 -
CTRL 0 CTRL 1 CTRL 2
Ausgabe
Auf 0 setzen S1 auf "0" setzen S1 auf "1" setzen Eingabe X LSB Addieren
MSB Subtrahieren
(X = ignorieren)
1 | 1 | 1 |
0 | 0 | X |
0 | 0 | 0 |
0 | X | 1 |
0 | 1 | X |
X | X | 1 |
X | 1 | X |
Ausgabe
Auf 0 setzen
S1 auf 0 setzen S1 auf 1 setzen Eingabe X
FR 976 013
Durch diesen Befehl wird der Inhalt der Zellen 0 - 6 an die Ausgänge SO - S6 übertragen.
Mit diesem Befehl werden alle Zellen mit Ausnahme der Zelle 1 auf 0 gesetzt. Dieser Befehl setzt die Zelle 1 auf 0.
Dieser Befehl setzt die Zelle 1 auf 1 . Durch diesen Befehl werden die Bits an den
Eingängen XO - X7 in die Verriegelungen PHO - PH7 geladen.
909828/0723
LSB Addieren Durch diesen Befehl wird + 1 zum Inhalt der
Zelle 7 addiert. Er ist nur in einer L-Komponente wirksam (+ 1 wird zum wertniedersten Bit
des 16 Bit großen Wortes addiert).
MSB Subtrahieren Dieser Befehl dreht die Zelle 0 in eine Subtrahiererzelle
und ist nur in M-Komponenten des Akkumulators aktiv.
In den Serialisierungseinrichtungen SER 1 und SER 2 sind die
ingänge XO - X7 mit der Eingangssammelleitung verbunden. Der Ausgang 7 der Komponente M ist mit dem seriellen Eingang SX
der Komponente L verbunden. Der Ausgang S7 der Komponente L ist der serielle Ausgang der Serialisierungseinrichtung und
die Ausgänge SO - S6 sind nicht benutzt. Die Multiplikatorleitungen der Komponenten L und M sind miteinander verbunden.
In jedem Akkumulator sind die Eingänge XO - X7 und die Ausgänge SO - S7 der Komponenten M und L entsprechend mit den
Eingangs- und Ausgangssammelleitungen verbunden. Die Multiplikatorleitung der Komponente M ist mit dem Multiplikatoreingang
des Akkumulators, ihr serieller Eingang SX mit dem seriellen Eingang SX des Akkumulators und ihr Ausgang S7 mit dem
seriellen Eingang SX der Komponente L verbunden. Die Multiplikatorleitung der Komponente L ist mit dem Multiplikatoreingang
des Akkumulators und ihr serieller Ausgang SX mit dem seriellen Ausgang SX des Akkumulators verbunden.
Bevor die Arbeitsweise der Einheit 14 beschrieben wird, wird
zuerst eine Addierer-Subtrahiererzelle beschrieben.
Die herkömmlichen Addiererzellen 1-6 haben drei Eingänge und zwei Ausgänge. Einer der beiden Ausgänge, der sogenannte
Summenausgang, liefert ein Bit, das gleich einer Modulo-Zweiaddition
der drei an die Eingänge angelegten Bits ist, während der andere, der sogenannte Übertragsausgang, ein Übertragsbit
fr 976 013 909828/0723
liefert, das aus der Addition der drei Eingangsbits resultiert, Der erste Eingang empfängt ein sogenanntes Operandenbit von
den zu der jeweiligen Zelle gehörenden UND-Gliedern 161 - 167. Der zweite Sumraeneingang empfängt das auf dem Summenausgang
der linken Zelle liegende Bit und der dritte Übertragseingang empfängt das Übertragsbit von der genannten linken Zelle um
eine Taktzeit verzögert. Nachstehend ist die Wahrheitstabelle aufgeführt.
Operand | Summe | übertrag | Summe | Übertrag | |
O | O | O | O | O | |
Tabelle I | O | O | 1 | 1 | O |
O | 1 | O | 1 | O | |
O | 1 | 1 | O | 1 | |
1 | 0 | O | 1 | O | |
Eingabebits Ausgabebits | 1 | O | 1 | O | 1 |
1 | 1 | O | O | 1 | |
1 | 1 | 1 | 1 | 1 |
Die Subtraktionszelle O hat ebenfalls drfei Eingänge (Operand,
Summe und übertrag) und zwei Ausgänge (Summe und übertrag), die
genauso angeschlossen sind, wie Eingänge und Ausgänge der Addiererzellen. In den Subtraktionszellen werden die Eingangsbits "Operand" und "Übertrag", die negativ sind, von dem positiven
Summenbit subtrahiert, entsprechend der nachstehenden Wahrheitstabelle.
FR 976 013
909828/0723
- 39 Tabelle II
Eingangsbits
Ausgangsbits
Operand
O
O
O
O
1
1
1
1
O
O
O
1
1
1
1
Summe
O O 1 1 O O
1 1
Übertrag
O 1 O 1 O 1 O
1
Summe
O
1
1
O
1
O
O
1
1
1
O
1
O
O
1
Übertrag
O 1 O O 1 1 O
1
Im Zusammenhang mit Fig. 8 wird anschließend eine beispielhafte Zelle beschrieben, die als Addiererzelle oder Subtraktionszelle
verwendet werden kann.
Diese Zelle besteht aus einer Antivalenzschaltung 180, die das
früher definierte Operandenbit über die Eingangsleitung OP 181, das Summenbit von der vorhergehenden Zelle über die Eingangsleitung S 182 und das Übertragsbit über die Eingangsleitung
C 183 empfängt. Die Ausgabe der Antivalenzschaltung 180 wird in
eine Verriegelung 184 eingegeben, die das Summenausgangsbit speichert und es an den Summenausgang 185 der Zelle gibt, sobald
ein Taktimpuls über die Taktleitung angelegt wird. Die Leitung "auf O setzen" ist mit der Verriegelung 184 verbunden,
wenn die Zelle die Zelle 0 ist oder eine der Zellen 2-6; wenn die Zelle die Zelle 1 ist, ist die Leitung "S1 auf 0
setzen" mit der Verriegelung 184 verbunden. Eine Majoritätsschaltung 186 empfängt das Operandenbit über die Leitung 181,
das Übertragsbit über die Leitung 183 und das Operandenbit, das eventuell durch eine Antivalenzschaltung 187 invertiert
ist, über die Leitung 188 und erzeugt ein Einerbit, sobald die Anzahl der an den drei Eingängen anliegenden Einsen
FR 976 013
909828/0723
b 5 7 2 2
die Anzahl der Nullen übersteigt. Der Ausgang der Schaltung ;
186 ist mit einer Verriegelung 189 verbunden, die das als
Ergebnis der Addition erzeugte Übertragsbit an die Schaltungen · 180 und 186 leitet, sobald Taktimpulse empfangen werden. Die
Taktleitung und die Leitung "auf 0 setzen" (oder "S1 auf 0 !
setzen") sind mit der Verriegelung 189 verbunden. Die MSB- ι Subtraktionsleitung ist ebenfalls mit dem Eingang einer
Antivalenzschaltung 187 verbunden.
'Wenn die MSB-Subtraktionsleitung einen Signalpegel für eine
logische 0 führt, ändert die Antivalenzschaltung 187 das von !der vorhergehenden Zelle empfangene Summenbit nicht und gibt
;es an den Eingang der Schaltung 186 weiter. Dann wirkt die Zelle als Addiererzelle und es kann geprüft werden, ob die in
■der Fig. gezeigte Zelle die Summen- und Übertragsbit gemäß
der Wahrheitstabelle I liefert. Wenn die MSB-Leitung auf einem logischen 1-Signalpegel steht, invertiert die Antivalenzschaltung
187 das von der vorhergehenden Zelle empfangene Summenbit, und dieses invertierte Bit wird an die Schaltung 186 gegeben.
jDie Zelle wirkt dann als Subtraktionszelle und es kann geprüft
werden, ob sie die Summenbits nach der Wahrheitstabelle II liefert.
Die Zelle 7 unterscheidet sich von den Zellen 0-6 nur dadurch,
daß die Zelle 7 einen Halbaddierer enthält, der das Operandenbit zu dem Bit auf der Leitung LSB addiert. Die Ausgabe des
Halbaddierers wird an die OP-Leitung 181 gegeben, wie es in Fig. 8 gezeigt ist. Wenn das Signal zu der Leitung LSB Addieren
eine logische 0 ist, ist die Zelle 7 eine normale Addiererzelle, und wenn das Signal eine logische 1 ist, wird der Inhalt
der Zelle 7 um +1 erhöht.
fr 976 013 9 09828/072 3
- 41 Arbeitsweise
Anschließend wird die Arbeitsweise einer der Multiplikator-Akkumulatoren,
beispielsweise des MAC 1, beschrieben.
Der MAC 1 ermöglicht die Errechnung der algebraischen Summe S der Produkte der beiden 16 Bit großen Operanden Ai, Bi, also
S = Σ + A. B..
Die Produkte erhält man durch Anwendung wohlbekannter Multiplikationsalgorithmen,
die durch aufeinanderfolgende Additionen und Verschiebungen der Teilprodukte in einem 32 Bit großen
Akkumulator ausgeführt werden, der aus dem in Reihe geschalteten linken Akkumulator LAC 1 und dem rechten Akkumulator RAC 1
besteht. Außerdem ist die äußerste rechte Position des RAC 1 mit der äußersten linken Position des LAC 1 verbunden. Unter
Steuerung der Taktimpulse wird der Inhalt einer jeden Position in den Akkumulatoren LAC 1 und RAC 1 auf die unmittelbar rechts
liegende Position verschobein. Der Inhalt deir äußersten reichten Position wird in die äußerstei linke Position geschobem.
Die Teilsummen eier Produkte weirden abweichseilnd in LAC 1 und
RAC 1 gesammelt. Wenn z.B. folgernde Summe; e;rreic:hnet werdem
soll
werden die Teilprodukte deir eirstem Multiplikation im LAC I
gesammelt und nach rechts verschoben, so daß beil Beendigung der Multiplikation das weirtniedeirstei Bit dun e;rsten Produktes
A1B1 in der äußersten rechten Position im RAC I .steht. Die;
Teilprodukte der zweiten Multiplikation we;rden im RAC I geisammelt
und nach rechts verschoben, so daß sie zu den Bits des ersten Produktes addiert werden, die dasselbe Gewicht haben.
Die Teilprodukte der dritten Multiplikation werden im LAC 1 gesammelt usw.
fr 976 013 909828/0723
Als allgemeine Regel kann man sagen, daß die Teilprodukte der ungeradzahligen Multiplikationen im LAC 1 und die Teilprodukte
der geradzahligen Multiplikationen im RAC 1 gesammelt werden. Diese Anordnung kann jedoch auch umgekehrt werden, und dann
würden die ungeradzahligen Multiplikationsergebnisse links und die geradzahligen rechts gesammelt. Die Operanden sind 16 Bit
große binäre Zahlen im Zweierkomplementcode. Das äußerste linke Bit ist das Vorzeichenbit, das für positive Zahlen = 0 und für
negative Zahlen = 1 ist. Um das Zweierkomplement einer in diesem Code ausgedrückten Zahl zu erhalten, braucht man nur alle ihre
Bits zu invertieren und zur Ergebniszahl f 1 zu addieren.
Bevor die Operanden multipliziert und gesammelt werden, kann man das Zweierkomplement zur Erfüllung folgender Forderungen
bekommen:
1. der Multiplikator muß immer positiv sein;
2. das Vorzeichen vor dem Produkt muß immer positiv sein.
Die* nachstehende Tabelle gibt an, ob das Zweierkomplement des
Operanden gebraucht wird, abhängig von dem dem Produkt vorhergehenden
Signal und dem Vorzeichen dtm Multiplikator«. Es wird
angenommen, daß der Multiplikator der erste Operand des Produktes A. und der Multiplikant der zweite Operand B. i:;t.
Tabelle ΠΙ
Vorzeichen | Vorzeichen | 2 er | Komplement | 2c» r | Kc | nip 1 eimern t |
(UiEJ Produkten | von A. | von | A. benötigt? | von | B. | I)(1UC)LLcJt |
t- | Nein | ΓΙ-.Ϊ | Ln | |||
- | Ja | Ja | ||||
- | + | Nein | Ja | |||
- | - | Ja | Ne | Ln |
FR 976 013
909828/0723
28b5722
Das Zweierkomplement einer binären Zahl wird bestimmt durch
!Invertierung ihrer Bits und Addition einer 1 zur resultierenden
:binären Zahl.
Die Inversion wird im Inverter 131 der in Fig. 2C gezeigten '
Schaltung ausgeführt, der Antivalenzschaltungeri enthält, deren
erster Eingang das Vorzeichenbit oder ein aus der Decodierung , der Bits 24, 25 des Multiplikatorsteuerfeldes resultierendes
Komplementierungssignal empfängt. Der andere Eingang der Anti- j valenzschaltungen empfängt ein Bit des zu invertierenden Ope- ;
randen. Das am Ausgang der Antivalenzschaltung erhaltene Bit ist die Umkehrung des Eingabebits, wenn der Operand zu invertieren
ist, und ist gleich dem Eingabebit, wenn keine Inversion erforderlich ist.
JDie Addition von +1 erfolgt in den Serialisierungseinrichtungen
!und Akkumulatoren und wird eingeleitet durch den Befehl "LSB >
Addieren", durch den +1 zum wertniedersten Bit addiert wird. j
In Zweierkomplementdarstellung erhält man den Wert eines Operaniden
durch Zuordnung eines positiven Gewichtes zu allen Bits nit Ausnahme des werthöchsten Bit, das einen negativen Wert
bekommt. Die Stelle des werthöchsten Bits in jedem Akkumulator nuß eine subtraktive Position sein. Demzufolge wird die Zelle 0
in den Komponenten M des Akkumulators subtraktiv gemacht durch .
äen Befehl "MSB Subtrahieren". '
In den Fign. 2D und 7 ist angenommen worden, daß der MAC 1 Ider einzige in Betrieb befindliche Multiplikator-Akkumulator
(ist. Die UND-Glieder 144, 145, 147 und 148 sind gesperrt, damit' jäer MAC 2 den MAC 1 nicht stören kann.
Die Einheit 14 arbeitet in Zyklen von jeweils T Sekunden.
Jeder Zyklus umfaßt:
::-]in S teuer zeitintervall, in dem die Eingabepuffer geladen werdet;
sin Additions- und Schiebeintervall, in dem acht Taktimpulse
£m die Taktleitungen der Serialisierungseinrichtungen und
fr 976 013 9 0 9828/0723
- 44 und Akkumulatoren angelegt werden (s. Fig. 9).
Die Operanden werden sequentiell auf der Eingangssammelleitung
zur Multiplikations- und Akkumulatoreinheit 14 während der
nachfolgenden Steuerzeitintervalle zur Verfügung gestellt.
BEISPIEL I
S = A1 B1 + A2 B2
S = A1 B1 + A2 B2
Zyklus 1
Der Multiplikator A1 steht auf der Eingangsleitung 68 zur Multi
plikations- und Akkumulatoreinheit 14 zur Verfügung. A1 wird
über die Eingangsleitung 132 durch das Tor 130 unter Steuerung der Bits 2 bis 5 des S/D-Feldes an den MAC 1 übertragen.
Das Vorzeichen von A1 wird abgefragt und wenn es negativ ist, wird A1 im Inverter 131 invertiert. In der wahren oder invertierten
Form wird A1 dann unter Steuerung der Signale auf der X-Eingabeleitung des SER 1 in B SER 1 geladen.
Additions- und Schiebeintervall In diesem Zeitintervall geschieht nichts.
Zyklus 2
Der Multiplikator B1 steht auf der Eingangsleitung 68 zur Multiplikations-
und Akkumulatoreinheit 14 zur Verfügung. Der Multiplikant B1 wird über die Eingangsleitung 132 unter Steuerung
der Bits 3 bis 5 des S/D-Feldes an den MAC 1 übertragen. B1 wird im Inverter 131 abhängig von dem Vorzeichen von A1 und
fr 976 013 909828/0723
den Bits 24 - 25 des Steuerfeldes für die Multiplikationseinheit, die das Vorzeichen vor dem Produkt liefern, gemäß
der obigen Tabelle III invertiert. B1 wird dann unter Steuerung des Signales auf der X-Eingabeleitung des LAC 1 in den
B LAC 1 geladen.
Der Multiplikator A1 wird vom B SER 1 nach SER 1 (d.h. in die Zellen des SER 1) übertragen durch Aktivierung der Multiplikatorleitung
der Komponenten M und L im SER 1. Wenn A1 invertiert wurde, wird das äußerste rechte Bit im SER 1 unter Steuerung
des Signales auf der Leitung LSB Addieren des SER 1 um + 1 erhöht und so das Zweierkomplement von A1 fertig gebildet.
Es beginnt der Prozeß der Multiplikation von A1 und B1. Bit
des Steuerfeldes für die Multiplikationseinheit aktiviert den Taktgeber, der daraufhin acht Taktimpulse liefert. Beim Auftreten
eines ersten Taktimpulses wird das wertniederste Bit von A1 an den Multiplikatoreingang des LAC 1 gegeben und der
yiultiplikant B1 oder 16 Nullen zum Inhalt der Zellen des LAC addiert, abhängig davon, ob dieses Bit auf 1 oder 0 steht. Das
so erhaltene Teilprodukt wird um eine Position nach rechts verschoben. Beim Auftreten des nächsten Taktimpulses werden B1
oder 16 Nullen zum Inhalt des R1 addiert, abhängig vom Wert des zweiten Bits von A1 und das neue Teilprodukt wird verschoben.
Während des Additions- und Schiebeintervalles erfolgen acht ikkumulationen und Schiebungen. Wenn B1 durch den Inverter
131 invertiert wurde, vervollständigt die Komponente L des
EAC 1 den Bestimmungsprozeß des Zweierkomplementes von B1 unter
Steuerung von LSB Addieren.
fr 976 013 909828/0723
- 46 Zyklus 3
Der Multiplikator A2 wird in B SER 1 geladen wie im Zyklus Addidions- und Schiebezeitintervall. Acht Taktimpulse vervollständigen
den Multiplikationsprozeß von A1 mit B1.
Zyklus 4
B2 wird in B RAC 1 geladen.
Additions- und Schiebezeitintervall. Acht Taktimpulse beginnen
den Multiplikationsprozeß von A1 mit B1.
Zyklus 5
Keine Aktion.
Additions- und Schiebezeitintervall. Acht Taktimpulse vervollständigen
den Multiplikationsprozeß von A1 mit B1. Zyklus 6
Dies ist ein Löschzyklus. Während des Additions- und Schiebezeitintervalles
können die Überträge in acht Impulsen weitergeleitet werden.
Zyklus 7 Dies ist ein Löschzyklus,
fr 976 013 909828/0723
Zyklus 8
Das Ergebnis S steht am Ausgang des RAC 1 zur Verfügung. Durch den an den RAC 1 angelegten Ausleitbefehl wird S in das Ausgaberegister
REG 1 geladen.
Anmerkung: Das Multiplikationsprodukt von zwei 16 Bit großen
Operanden ist natürlich als ein Wort mit 32 Bits definiert. Die nachfolgende Verarbeitung dieses Produktes verlangt eine
Beschneidung auf 16 Bits. Das geschieht in dem AC 1 so, daß das 16 Bit große Ergebnis aus den 15 wertniederen Bitpositionen
des RAC 1 + der werthöchsten Bitposition des LAC 1 oder den 15 wertniederen Bitpositionen des LAC 1 + der höchsten Bitposition
des RAC 1 besteht, wie es in Fig. 10 gezeigt ist. In der obigen Beschreibung und der Darstellung in Fig. 2D wurde
das Ergebnis im Interesse der Einfachheit als entweder im RAC oder im LAC 1 verfügbar beschrieben.
Wegen der Beschneidung wird in Zyklus 8 der in der nächsten
Operation zu ladende Akkumulator, d.h. in diesem Beispiel der Akkumulator LAC 1, auf den nachfolgenden Wert zurückgestellt,
nachdem das Ergebnis S in REG 1 geladen wurde:
0100 0000 0000 0000
Dieses Wort ermöglicht die durch die Beschneidung notwendig gewordene Abrundung anstelle der Rückstellung auf 0. Das hier
Abrundungswort genannte Wort wird in den Akkumulator geladen, der den Multiplikanten aufnimmt, bevor eine Multiplikation
ausgeführt wird.
Damit man nicht auf einen durch das Einerbit im Abrundungswort erzeugten möglichen Übertrag warten muß, wird der Übertragsausgang
der Zelle 1 an den Eingang der Antivalenzschaltung (Fig. 7) angelegt und so der Übertrag vorweg genommen.
fr 976 013 909828/0723
Im Zyklus 8 dieses Beispieles wird nach dem Laden von S in das REG 1 der LAC 1 durch das Abrundungswort zurückgestellt und
der RAC 1 auf O gestellt. Dazu werden die Befehle "auf 0 stellen" und "S1 auf 0 stellen" an die Komponente L des LAC 1
und die Komponenten M und L des RAC 1 und die Befehle "auf 0 stellen" und "S1 auf 1 stellen" an die Komponente M des LAC 1
geleitet.
Anschließend wird die Arbeitsweise der Multiplikations- und
Akkumulatoreinheit 14 bei der Multiplikation zweier komplexer Operanden miteinander beschrieben.
Es wird angenommen, daß das Produkt P1 der komplexen Operanden A1 + j B1 und C1 + j D1 errechnet werden soll:
P1 = (A1 + j B1) (C1 + j D1) worin j = "V-"T* "
Das Produkt P1 kann man auch schreiben als
P1 = A1 C1 - B1 D1 + j (A1 D1 + B1 C1) worin
A1 C1 - B1 D1 = realer Teil von P1 und A1 D1 + B1 C1 = imaginärer Teil von P1 sind.
Der reale und der imaginäre Teil von P1 werden parallel errechnet.
Die Operationsreihenfolge ist in der nachstehenden Tabelle aufgeführt.
fr 976 013 909828/0723
Zyklus | RAM Opera tion |
Operation | Querver bindung |
MAC 1 | C1 | MAC 2 | C1 |
1 | Lesen | A1 + SER 1 | C1 | C1 | |||
2 | Lesen | B1 -J- SER 2 | D1 | D1 | |||
3 | Lesen | C1 | D1 | D1 | |||
Nein | A1 | B1 | |||||
4 | Lesen | Nein | A1 | B1 | |||
5 | Ja | -B1 | A1 | ||||
6 | Ja | -D1 | A1 | ||||
7 | ■*· LAC 1 , LAC 2 | Überträge | |||||
δ | DT ·*■ RAC 1 | Überträge | |||||
9 | |||||||
Ergebnisse | |||||||
REG 1 und ] | |||||||
rRAC 2 | |||||||
nach | |||||||
REG 2 |
Zyklus 1
Steuerzeitintervall
Der Multiplikator A1 steht an der Eingangsleitung 6δ der Multiplikations-
und Akkumulatoreinheit 14 zur Verfügung und wird zur Eingangsleitung 132 des MAC 1 unter Steuerung der Bits
3-5 des S/D-Feldes weitergeführt und bei Bedarf im Inverter 131 invertiert. Dann wird A1 geladen in B SER 1. Dazu decodiert
die Decodierschaltung 150 die Bits 2-5 des SB-Feldes, die SER 1 angeben, und aktiviert die Eingabeleitung X in den
Komponenten M und L der SER 1. Die Decodierschaltung 150 aktiviert
außerdem die Leitung LSB Addieren in der Komponente L der SER 1, wenn A1 vom Inverter 131 invertiert wurde.
Additions- und Schiebezeitintervall .
Keine Aktion.
Zyklus 2
Zyklus 2
FR 976 013
909828/0723
- 50 Steuerzeitintervall
Der Multiplikator B1 steht auf der Eingangsleitung 68 zur Verfügung
und wird wie im Zyklus 1 geladen nach B SER 2.
Additions- und Schiebeintervall Keine Aktion.
Zyklus 3
Zyklus 3
Der Multiplikant C1 steht auf der Eingangsleitung 68 der Multiplikations-
und Akkumulatoreinheit 14 zur Verfügung. Der Samnelleitungsschalter
130 decodiert die Bits 2-5 des SB-Feldes und gibt C1 auf die Eingangsleitung 132 des MAC 1 und die
Eingangsleitung 133 des MAC 2. Abhängig vom Vorzeichen von A1
und dem Vorzeichen vor dem Produkt (in diesem Beispiel ist äas ein +-Zeichen) und den Angaben durch die Bits 24, 25 des
Steuerfeldes für die Multipliziereinheit wird C1 im Inverter 131 gemäß der Tabelle III invertiert.
1 wird dann in B LAC 1 und B LAC 2 geladen und dazu deco-3iert die Decodierschaltung 150 die Bits 2-5 des SD-PeI-äes,
die die Akkumulatoren 1 und 2 bezeichnen sowie Bit 23 äes Steuerfeldes für die Multiplikationseinheit, das die linken
akkumulatoren angibt. Außerdem aktiviert die Decodierschaltung 3ie X-Eingabeleitung in den Komponenten M und L von LAC 1 und
LAC 2 sowie die Leitung LSB Addieren in den Komponenten L des CAC 1 und LAC 2, wenn C1 invertiert wurde.
Die Multiplikatoren A1 und B1 werden in die Zellen von SER
bzw. SER 2 geladen durch Aktivierung der Multiplikatoreinjänge von SER 1 und SER 2. Diese Eingänge werden dann abgeschaltet.
A1 und B1 bleiben jedoch in B SER 1 bzw. B SER 2 gespeichert. Die Decodierschaltung 150 aktiviert die UND-Glieder
135 und 139 aufgrund der Bits 1 und 23 des Steuer-
PR 976 013 9Q9828/0723
- 51 feldes für die Multiplikationseinheit.
Bit 21 des Steuerfeldes für die Multiplikationseinheit wird auf 1 gesetzt und der Taktgeber liefert 8 Impulse an MAC 1
und MAC 2, die mit der Multiplikation von A1 mit C1 bzw. B1 mit C1 beginnen. Sobald ein Taktimpuls auftritt, wird der entsprechende
Inhalt von SER 1 und SER 2 um eine Position nach rechts verschoben und das äußerste rechte Bit steuert selektiv
das Laden von B1 oder von Nullen in LAC 1 bzw. LAC 2 und der entsprechende Inhalt von LAC 1 und LAC 2 wird um eine
Position nach rechts verschoben.
Zyklus 4
Der Multiplikant D1 liegt auf der Eingangsleitung 68 zur tfultiplikations- und Akkumulatoreinheit 14. Er wird über die
Eingangsleitung 132 des MAC 1 durch den Sammelleitungsschalter 130 übertragen und abhängig vom Vorzeichen von B1 und den
Zeichen vor dem Produkt B1, D1 (in diesem Beispiel das -Zeichen) in Übereinstimmung mit Tabelle III im Inverter 131
invertiert oder nicht. D1 wird ebenfalls über die Eingangsleitung 133 des MAC 2 übertragen und abhängig von dem Vor-
;eichen von A1 und dem Vorzeichen vor dem Produkt A1 D1 gemäß Tabelle III invertiert oder nicht. D1 wird dann in BRAC
und BRAC 2 unter Steuerung der Bits 2-5 des S/D-Feldes und des Bit 23 des Steuerfeldes für die Multiplikationseinheit
geladen. Die Decodierschaltung 150 aktiviert die Leitung LSB Addieren in der Komponente L des RAC 1, wenn der
Ylultiplikant für RAC 1 invertiert wurde und die Leitung LSB
Addieren in der Komponente L des RAC 2, wenn der Multiplikant für RAC 2 invertiert wurde.
fr 976 013 909828/0723
- 52 Additions- und Schiebeintervall
Acht Taktimpulse werden an MAC 1 und MAC 2 angelegt, die dann die Multiplikation A1 χ C1 und B1 χ C1 beenden.
Zyklus 5
Die Multiplikatoren A1 und B1 werden wieder in die Zellen von SER 1 bzw. SER 2 geladen. (Die während des Zyklus 4 geladenen
Zellen des SER 1 und SER 2 werden nach 16 Taktimpulsen wieder gelöscht.) A1 und B1 werden geladen durch Aktivierung der Multi
plikanteneingänge des SER 1 und SER 2. Die Leitung LSB Addieren in den Komponenten L des SER 1 und SER 2 werden aktiviert,
wenn A1 und B1 invertiert wurden. Die Decodierschaltung 150 aktiviert die UND-Glieder 145 und 148 (die Serialisierungseinrichtungen
und die Akkumulatoren sind somit über Kreuz verbunden) entsprechend den Bits 1 und 23 des Steuerfeldes
für die Multiplikationseinheit.
Bit 21 des Steuerfeldes für die Multiplikationseinheit wird auf 1 gesetzt und 8 Taktimpulse an MAC 1 und MAC 2 angelegt,
um die Multiplikation -B1 χ D1 bzw. A1 χ D1 zu starten. Sobald ein Taktimpuls auftritt, wird der entsprechende Inhalt
des SER 1 und SER 2 um eine Position nach rechts verschoben und das äußerste rechte Bit steuert selektiv das Laden von D1
oder von Nullen in RAC 2 bzw. RAC 1. Der entsprechende Inhalt von RAC 2 oder RAC 1 wird um eine Position nach rechts verschoben .
fr 976 013 909828/072 3
- 53 Zyklus 6
Steuerzeitintervall Keine Aktion.
Acht Taktimpulse werden an MAC 1 und MAC 2 angelegt, die dann die Multiplikation von -B1 χ D1 und A1 χ D1 beenden.
Zyklus 7 Dies ist ein Löschzyklus.
Steuerzeitintervall Keine Aktion.
Acht Taktimpulse werden an MAC 1 und MAC 2 angelegt, um die Überträge weiterleiten zu können. β
Zyklus 8 Das ist ein weiterer Löschzyklus.
Am Ende dieses Zyklus steht der reale Teil von P1, nämlich
A1 C1 - B1 D1 im RAC 1 zur Verfügung und der imaginäre Teil von P1, nämlich A1 D1 + B1 C1 im RAC 2 (s. Anmerkung im
Beispiel 1).
909828/0723
FR 976
Zyklus 9
Der Inhalt von RAC 1 und RAC 2 wird entsprechend in die Ausgaberegister
REG 1 und REG 2 geladen. Dazu decodiert die Decodierschaltung 150 die Bits 22, 23 des Steuerfeldes für die
Multiplikationseinheit und aktiviert die Ausgabe-Leitung in den Komponenten M und L vom RAC 1 und RAC
Anschließend wird kurz beschrieben, wie man die Summe zweier Produkte zweier komplexer Operanden erhält:
P1 = (A1 + j B1) (C1 + j D1) P2 = (A2 + j B2) (C2 + j D2)
Die Summe S von P1 und P2 wird geschrieben als
S = (A1 + j B1) (C1 + j D1) + (A2 + j B2) (C2+JD2)
Der reale Teil von S ist
Re S = A1 C1 - B1 D1 + A2 C2 - B2 D2
Der imaginäre Teil von S ist
Im S = A1 D1 + B1 C1 + A2 D2 + B2 D2
Die nachstehende Operationsreihenfolge faßt die Berechnung von S zusammen.
fr 976 013 9 0 9828/07TT
Zyklus | RAM Opera tion |
Operation | -»■ SER 1 | 2 | Querver verbindung |
MAC 1 | C1 | MAC | 2 |
1 | Lesen | A1 | ■*■ SER 2 | C1 | |||||
2 | Lesen | B1 | D1 | ||||||
3 | Lesen | C1 | LAC 1, LAC 2 | 2 | D1 | ||||
-}- | -»· RAC 1 , RAC | 2 | Nein | A1 | C2 | B1 | C1 | ||
4 | Lesen | D1 | -> SER 2 | Nein | A1 | C2 | B1 | C1 | |
5 | Lesen | A2 | ·»■ SER 2 | Ja | -B1 | D2 | A1 | D1 | |
6 | Lesen | B2 | -*· LAC 1 , LAC | Ja | -B1 | D2 | A1 | D1 | |
7 | Lesen | C2 | + RAC 1 , RAC | Nein | A2 | B2 | C2 | ||
8 | Lesen | D2 | Nein | A2 | B2 | C2 | |||
9 | Ja | -B2 | A2 | D2 | |||||
10 | Ergebnisse nach REG 1 und REG 2 |
Ja | -B2 | A2 | D2 | ||||
11 12 13 |
Überträge Überträge |
||||||||
Taktierung: Der PMAU-Zyklus hat eine Dauer von T Sekunden und
während jedes Zyklus wird ein Mikrobefehl aus dem Befehlsspeicher 10 ausgelesen, während der vorhergehende Mikrobefehl
ausgeführt wird (s. Fig. 9).
Die PMAU hat zwei Hauptfunktionen:
Sie speichert die digitalen Abtastwerte des zu verarbeitenden Signales, die vom Analog/Digitalwandler 2 empfangen werden:
Das ist der Eingabebetrieb, und
sie verarbeitet die digitalen Abtastwerte des zu verarbeitenden Signales: Das ist der Verarbeitungsbetrieb.
909828/0723
FR 976 013
- 56 Arbeitsweise im Eingabebetrieb
Wenn der Analog-Digitalwandler 2 fertig umgewandelt hat, wird ein digitaler Abtastwert über die Sammelleitung 3 an die PMAU
geleitet. Sobald das A/D-Register 120 voll ist, gibt die A/D-Anforderungsschaltung
123 einen Einersignalpegel als A/D-Anforderungssignal auf die Leitung 88. Es wird angenommen,
daß die PMAU im Augenblick im Verarbeitungsbetrieb läuft. Während der Ausführung eines Mikroprogrammes setzt ein Mikrobefehl,
beispielsweise der Befehl, dessen vereinfachte Adresse 1000 lautet und dessen Adreßfeld für den nächsten Befehl dieselbe
Adresse 1000 enthält, das A/D-Abfragesignal auf der Leitung 89 über die Bits im Verzweigungsfeld auf 1. Da die
Signale A/D-Anforderung und A/D-Abfrage beide auf 1 stehen, wird die Torschaltung 85 (Fig. 2E) aktiviert, die Torschaltung
86 gesperrt und die Adresse des ersten Mikrobefehles, die in
der Eingaberoutine im ROS-Eingabeadreßregister gespeichert wurde, wird in den Befehlsspeicher 10 eingegeben. Die Eingangsroutine
ist somit initialisiert und veranlaßt das Laden der im A/D-Register 120 enthaltenen Adresse in den Datenspeicher
RAM 12. Dazu decodiert die Decodierschaltung 126 die Bits des S/D-Feldes, die das A/D-Register 120 als Quellenregister angebe^
und betätigt die Torschaltung 121, die den Abtastwert, die in den RAM zu laden ist, über die interne Sammelleitung 42
überträgt. Gleichzeitig setzt die Decodierschaltung den Anzeiger IND auf der Leitung 124 auf 1. Sobald der Abtastwert
das A/D-Register 120 verlassen hat, setzt die A/D-Anforderungsschaltung
123 das A/D-Anforderungssignal auf 0. Während der
Ausführung der Eingangsroutine wird das ROS-Eingangsadreßregister
durch das Adreßfeld des nächsten Befehles über die Leitung 80 und das Tor 81, das den Inhalt der Leitung 80 an
das Register gibt, solange der wahre Ausgang von der Verriegelung 87 hoch ist, auf dem neuesten Stand gehalten. Die
Eingangsroutine endet mit einem Mikrobefehl, der das A/D-Abfragesignal
auf 1 setzt. Da das A/D-Anforderungssignal auf 0 steht, wird die Torschaltung 85 gesperrt und die Torschal-
fr 976 013 909828/0723
tung 86 aktiviert, so daß die im Verarbeitungsadreßregister enthaltene Adresse an das ODER-Glied 84 gegeben werden kann.
Die im ROS-Verarbextungsadreßregxster enthaltene Adresse ist die Adresse 1000, die durch das Adreßfeld des nächsten
Befehles des Mikrobefehles 1000 geladen wurde, der die Operation im Eingabebetrieb einleitete. Da das A/D-Abfragesignal
und der Anzeiger IND beide auf 1 stehen, gibt die Verzweigungsschaltung 95 ein logisches Einersignal auf die
Verzweigungsbedingungsleitung. Die vom Verarbextungsadreßregxster an das ODER-Glied 84 gegebene Adresse 1000 wird
durch die Antivalenzschaltung 94 modifiziert und die Adresse 1001 in den Befehlsspeicher eingegeben, damit die Arbeit im
Verarbeitungsbetrieb wieder aufgenommen werden kann. Das Programm kann den Verarbeitungsbetrieb unter Benutzung der
durch das Adreßfeld des nächsten Befehles desjenigen Mikrobefehles,
der den Eintritt in die Eingabeoperation ermöglichte, an jeder gewünschten Adresse wieder aufnehmen.
Die Arbeitsweise wird durch die im Befehlsspeicher 10 gespeicherten
Mikrobefehle gesteuert. Die verschiedenen Operationen wurden bereits oben beschrieben. Im Verarbeitungsbetrieb wird
das Adreßregister des Befehlsspeichers durch das Adreßfeld für den nächsten Befehl des ausgeführten Mikrobefehles auf dem
neuesten Stand gehalten. Dieses Adreßfeld wird über die Leitung 80 und das Tor 81 solange an dieses Adreßregister gegeben,
wie der wahre Ausgang des Tores 87 niedrig ist.
Im Verarbeitungsbetrieb werden Daten zwischen der PMAU und der
CU übertragen.
IM das Mikroprogramm der PMAU mit der Rate zu synchronisieren,
in der digitale Abtastwerte des zu verarbeitenden Signales empfangen werden, sind in Mikroprogrammbefehle "warten auf
Abtastwert" vorgesehen. Jeder dieser Mikrobefehle stellt
FR 976 013
eine geschlossene Schleife dar und seine Operationscode- und Verzweigungsfeider geben an "keine Operation" und "A/D
abfragen". Die PMAU schaltet in den Eingangsbetrieb, sobald ein digitaler Abtastwert empfangen ist.
Das Wort "Mikro" als Zusatz zu den Wörtern Prozessor und Befehle stellt hier keinerlei Einschränkung des Rahmens der
Erfindung dar und die Erfindung gilt im allgemeinen Sinne für einen Prozessor, der Befehle benutzt.
PR 976 013
9W8T8 /0723
Claims (1)
- PATENTANSPRÜCHEEinrichtung zur Berechnung von Produktsummen der Form Σ-AiAj, wobei Ai, Aj zwei aus η Bits bestehende Zahlen sind/ dadurch gekennzeichnet, daß eine Multiplikationsund Akkumulatoreinheit (14, Fig. 2) mit zwei Multiplikator-Akkumulatoren (MAC1, MAC2) vorgesehen ist, daß jeder Multiplikator-Akkumulator eine Serilialisierungseinrichtung (SER) mit zugehörigem Eingangspuffer (BSER) aufweist sowie mindestens einen Akkumulator (LAC) mit zugehörigem Eingangspuffer (BLAC), daß der Ausgang des Akkumulators mit einem Ausgangsregister (REG) verbunden ist und daß die Ausgangsleitungen der Serialisierungseinrichtungen über Torschaltungen (z. B. 135, 139, 144, 147) mit allen Akkumulatoren (LAC1, LAC2) beider Multiplikator-Akkumulatoren verbunden sind.Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jeder Multiplikator-Akkumulator zwei Akkumulatoren (LAC, RAC) aufweist, die neben parallelen Ein- und ; Ausgängen für Puffer bzw. Ausgangsregister jeweils einen seriellen Ein- und Ausgang besitzen, daß der serielle iEingang des ersten Akkumulators (LAC) mit den seriellen; Ausgängen der Serialisierungseinrichtungen (SER) und des zugehörigen zweiten Akkumulators (RAC) verbunden ist und daß der serielle Ausgang des ersten Akkumulators (LAC) mit dem seriellen Eingang des zweiten Akkumulators (RAC) verbunden ist.3. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß Steuereinrichtungen (z. B. ROS 10, Decoder 150) die Schrittfolge der Produktsummenbildung steuern.976013 9 098 29/072 3 'ohminal wepr-4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Ausgänge der Register (REG) beider Multiplikator-Akkumulatoren (MAC1, MAC2) über Sammelleitungen (z. B. 67, 132, 133) und Sammelleitungsschalter (149, 131) mit den Eingangspuffern beider Multiplikator-Akkumulatoren verbindbar sind.5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß einer der Sammelleitungsschalter (z. B. 130) eine Invertiereinrichtung (131) nachgeschaltet hat.Einrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zur Bildung des Produkts zweier komplexer Operanden, eines Multiplikators Ai + JBi und eines Multiplikanden Ci + jDi in einem ersten Schritt der Realteil Ai des Multiplikators in den Eingangspuffer (BSER1) der Serialisierungseinrichtung des ersten Multiplikator-Akkumulators (MAC1) eingegeben wird, daß in einem zweiten Schritt der Imaginärteil Bi des Multiplikators in den Eingangspuffer (BSER2) der Serialisierungseinrichtung (SER2) des zweiten Multiplikator-Akkumulators (MAC2) zugegeben wird, daß in einem dritten Schritt der Realteil Ci des Multiplikanden in die Eingangspuffer (BLAC1, BLAC2) der ersten Akkumulatoren (LAC1, LAC2) beider Multiplikator-Akkumulatoren eingegeben wird, daß in einem vierten Schritt die ersten Akkumulatoren (LAC1, LAC2) das Produkt Ai χ Ci bzw. Bi χ Ci bilden, daß in einem fünften Schritt den Eingangspuffern (BRAC1, BRAC2) der zwciiten Akkumulatoren (RAC1 , RAC2) der Imaginärteil· Di des Multiplikanden zugeführt wird, daß in einem sechsten Schritt der zweite Akkumulator des ersten Multiplikator-Akkumulators das Produkt -Bi χ Di bildet und zum Produkt Ai >c Ci addiert, während gleichzeitig der zweite? Akkumulator des zweiten Multiplikator-λ 076 013 90 9828/072 3Akkumulators das Produkt Ai χ Di bildet und zum Produkt Bi χ Ci addiert und daß in einem siebten Schritt die Ergebnisse in die Ausgangsregister (REG) gegeben werden.7. Einrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Einrichtung über eine Datensammelleitung (4, Fig. 1) mit einer Steuereinheit (CU) verbunden ist und von dieser gesteuert wird.8. Einrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Einrichtung zur Verarbeitung komplexer analoger Signale dient, die über einen Analog-/Digitalwandler (2) in einem Datenspeicher (12) zur Weiterverarbeitung eingegeben werden.fr 976 013 90 9828/07 2 3
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7739966A FR2413712A1 (fr) | 1977-12-30 | 1977-12-30 | Microprocesseur specialise pour le calcul de la somme de produits de deux operandes complexes |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2855722A1 true DE2855722A1 (de) | 1979-07-12 |
Family
ID=9199635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782855722 Withdrawn DE2855722A1 (de) | 1977-12-30 | 1978-12-22 | Einrichtung zur berechnung von produktsummen |
Country Status (6)
Country | Link |
---|---|
US (1) | US4202039A (de) |
JP (1) | JPS5947346B2 (de) |
DE (1) | DE2855722A1 (de) |
FR (1) | FR2413712A1 (de) |
GB (1) | GB2011672A (de) |
IT (1) | IT1160374B (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4354249A (en) * | 1980-03-24 | 1982-10-12 | Motorola Inc. | Processing unit for multiplying two mathematical quantities including at least one complex multiplier |
EP0042452B1 (de) * | 1980-06-24 | 1984-03-14 | International Business Machines Corporation | Signalprozessorrechneranordnung und Verfahren zum Betrieb der Anordnung |
US4511987A (en) * | 1982-03-25 | 1985-04-16 | Texas Instruments Incorporated | Method of entering and performing operations on complex numbers on calculators |
US4528641A (en) * | 1982-11-16 | 1985-07-09 | The United States Of America As Represented By The Secretary Of The Air Force | Variable radix processor |
US4589085A (en) * | 1983-04-26 | 1986-05-13 | The United States Of America As Represented By The United States Department Of Energy | Hardware multiplier processor |
US4561066A (en) * | 1983-06-20 | 1985-12-24 | Gti Corporation | Cross product calculator with normalized output |
US4800486A (en) * | 1983-09-29 | 1989-01-24 | Tandem Computers Incorporated | Multiple data patch CPU architecture |
KR860700300A (ko) * | 1984-09-28 | 1986-08-01 | 빈센트 죠셉로너 | 입력 기억 회로 수단 및 그 분배 사용방법 |
US4779218A (en) * | 1985-09-04 | 1988-10-18 | Jauch Jeremy P | Complex arithmetic unit |
GB8715184D0 (en) * | 1987-06-29 | 1987-10-21 | Gec Avionics | Stereoscopic presentation of data |
US5349676A (en) * | 1991-02-11 | 1994-09-20 | General Electric Company | Data acquisition systems with programmable bit-serial digital signal processors |
US5808927A (en) * | 1994-10-18 | 1998-09-15 | International Business Machines Corporation | Apparatus for performing two's complement and unsigned multiply accumulate |
US5771186A (en) * | 1995-06-07 | 1998-06-23 | International Business Machines | System and method for multiplying in a data processing system |
US5939693A (en) * | 1998-02-02 | 1999-08-17 | Motorola Inc. | Polynomial calculator device, and method therefor |
US11243765B2 (en) | 2017-09-29 | 2022-02-08 | Intel Corporation | Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements |
US10514924B2 (en) | 2017-09-29 | 2019-12-24 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US10664277B2 (en) | 2017-09-29 | 2020-05-26 | Intel Corporation | Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words |
US10795676B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Apparatus and method for multiplication and accumulation of complex and real packed data elements |
US10552154B2 (en) * | 2017-09-29 | 2020-02-04 | Intel Corporation | Apparatus and method for multiplication and accumulation of complex and real packed data elements |
US10795677B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values |
US10534838B2 (en) | 2017-09-29 | 2020-01-14 | Intel Corporation | Bit matrix multiplication |
US11256504B2 (en) | 2017-09-29 | 2022-02-22 | Intel Corporation | Apparatus and method for complex by complex conjugate multiplication |
US10802826B2 (en) | 2017-09-29 | 2020-10-13 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US11074073B2 (en) | 2017-09-29 | 2021-07-27 | Intel Corporation | Apparatus and method for multiply, add/subtract, and accumulate of packed data elements |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1037737A (en) * | 1964-07-01 | 1966-08-03 | Ampex | Improvements in or relating to computer systems |
GB1151302A (en) * | 1967-05-18 | 1969-05-07 | Tesla Np | Improvements in and relating to Computer Equipment for Numerical Solution of Complex Number Problems |
US3673399A (en) * | 1970-05-28 | 1972-06-27 | Ibm | Fft processor with unique addressing |
US3725686A (en) * | 1971-01-29 | 1973-04-03 | Hughes Aircraft Co | Polyphasor generation by vector addition and scalar multiplication |
CH530643A (de) * | 1971-04-22 | 1972-11-15 | Hasler Ag | Verfahren und Einrichtung zum Erkennen einer vorbestimmten Frequenz in einem Frequenzgemisch |
US3800130A (en) * | 1973-07-09 | 1974-03-26 | Rca Corp | Fast fourier transform stage using floating point numbers |
US3926367A (en) * | 1974-09-27 | 1975-12-16 | Us Navy | Complex filters, convolvers, and multipliers |
US4086657A (en) * | 1976-08-18 | 1978-04-25 | The United States Of America As Represented By The Secretary Of The Air Force | Five-stage four-bit complex multiplier |
-
1977
- 1977-12-30 FR FR7739966A patent/FR2413712A1/fr active Granted
-
1978
- 1978-11-22 JP JP53143469A patent/JPS5947346B2/ja not_active Expired
- 1978-11-23 GB GB7845822A patent/GB2011672A/en not_active Withdrawn
- 1978-11-29 US US05/964,316 patent/US4202039A/en not_active Expired - Lifetime
- 1978-12-21 IT IT31079/78A patent/IT1160374B/it active
- 1978-12-22 DE DE19782855722 patent/DE2855722A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
IT7831079A0 (it) | 1978-12-21 |
JPS5947346B2 (ja) | 1984-11-19 |
FR2413712A1 (fr) | 1979-07-27 |
IT1160374B (it) | 1987-03-11 |
FR2413712B1 (de) | 1980-08-22 |
GB2011672A (en) | 1979-07-11 |
JPS5494849A (en) | 1979-07-26 |
US4202039A (en) | 1980-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2855722A1 (de) | Einrichtung zur berechnung von produktsummen | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE3424962C2 (de) | ||
DE2724125C2 (de) | ||
DE3303488C2 (de) | Digitales Signalverarbeitungssystem | |
DE3689923T2 (de) | Dreiphasen-Pipeline-Signalprozessor. | |
DE3687666T2 (de) | Verzweigungssteuerung in einem dreiphasen-pipeline-signalprozessor. | |
DE19839627B4 (de) | Digitaler Signalprozessor | |
DE68928519T2 (de) | Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE2758830A1 (de) | Rechenvorrichtung | |
CH644461A5 (de) | Digitale multipliziereinrichtung. | |
DE3114921A1 (de) | Datenverarbeitungssystem | |
DE1549478B1 (de) | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden | |
DE2830334C2 (de) | ||
DE2906685C2 (de) | ||
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
DE2952072C2 (de) | Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen | |
DE69930893T2 (de) | Digitaler Signalprozessor für Daten mit grosser Bitlänge | |
DE1184122B (de) | Addiervorrichtung | |
DE1549449A1 (de) | Einrichtung zur Verarbeitung von Gleitkommazahlen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |