DE2556617A1 - Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes - Google Patents

Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes

Info

Publication number
DE2556617A1
DE2556617A1 DE19752556617 DE2556617A DE2556617A1 DE 2556617 A1 DE2556617 A1 DE 2556617A1 DE 19752556617 DE19752556617 DE 19752556617 DE 2556617 A DE2556617 A DE 2556617A DE 2556617 A1 DE2556617 A1 DE 2556617A1
Authority
DE
Germany
Prior art keywords
memory
byte
bits
information
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19752556617
Other languages
English (en)
Other versions
DE2556617C2 (de
Inventor
John Christian Moran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE2556617A1 publication Critical patent/DE2556617A1/de
Application granted granted Critical
Publication of DE2556617C2 publication Critical patent/DE2556617C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0407Selecting arrangements for multiplex systems for time-division multiplexing using a stored programme control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Executing Machine-Instructions (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

25566
BLUMBACH . WESIIR · BEUGEN · KFCA ZWIRNLIR . HIRSCH
PATENTANWÄLTE IN MÜNCHEN UND WIESBADEN
Postadresso München: Patentconsult 8 München 60 Ro Jecfcestraße ·;3 Telefon (039) 8336 0.:/OB 36 (M Telex 05 212313 Poslaclf esse Wiesbaden: Patentconsult 02 Wiesbaden Sonnenborger Strs'je 43 Telefon (06121) 56Ϊ943/561998 TcIt-; 01-186237
Western Electric. Company
incorporated
New York, N.Y., 10007, USA Moran, J. C.
Datenverarbeiter zum rotierbaren Verschieben von Bits
eines Datenwortes
Die Erfindung betrifft einen Daienverarbeiter zum rotierbaren Verschieben von Bits eines Datenwortes um eine Anzahl von Bitposii ionen, wobei das Datenwort eine Vielzahl von Mehrbit-B/tes enthält, die in einer ersten Bytefolge angeordnet sind.
Schiebe- und Rotierschaltungen sind bekannt und notwendiger Bestandteil von Datenverarbeitern, die arithmetische und/oder logische Operutionen mit einem Minimum an Zeitaufwand ausführen muß. Solche Schaltungen geben den Verarbeitern die Möglichkeit, Operationen auszuführen, die durch eine Anzahl von Programmiersprachen hoher Stufe angegeben werden. Wenn beispielsweise ein angegebenes Feld eines Wortes mit mehreren Feidern geprüft, anaiysiert oder auf das Vorhandensein oder
609827/0880
Nichtvorhündensein einer bestimmten Bedingung verglichen werden soll, so werden Schiebe- und Rotierschaltungen benutzt, um das angegebene Feld nach rechts zu bewegen, so daß es den niedrigststelligen Teil des Wortes einnimmt. Dann können die Gatter- und Logikschaltungen des Verarberters den Inhalt des verschobenen Feldes prüfen, um festzustellen, ob er der angegebenen Bedingung genügt. Da logische Operationen dieser Art in großem Umfang angewendet werden, ist es aus wirtschaftlichen Gründen nötig, daß Verarbeiter mit Schiebe- und Rotierschaltungen ausgestattet werden, die die erforderlichen Funktionen bei minimalem Zeitaufwand ausführen.
Es sind brauchbare Schiebe- und Rotierschaitungen zur Verwendung bei Verarbeitern bekannt, die intern Wörter gleicher Bit-Länge wie die vom Eingabe-Ausgabe-System, mit dem der Verarbeiter in Verbindung steht, empfangenen Wörter intern bewegt, manipuliert und logische und arithmetische Operationen mit ihnen durchführt. In der US-Patentschrift 3.374.463 ist eine Schiebe- und Rotierschaltung offenbart, die ein Wort bearbeitet, während es von einem Teil des Verarbeiters zu einem anderen übertragen wird. Die bekannten Schiebe- und Rotierschaltungen führen zwar ihre Funktionen brauchbar aus, sind aber hinsichtlich ihrer Anwendungsmöglichkeit auf Verarbeifer beschrankt, die intern Wörter 000027/0868
gleicher Bit-Länge verarbeiten, wie diejenigen, die von den Eingabe-Ausgabeeinrichtungen ankommen. Dies stellt ein Problem dar, da es mit der Einführung der Großiritegration bekannt ist, Verarbeiter zu benutzen, die 16-Bit-Wörter von den Eingabe-Ausgabeeinrichtungen aufnehmen, jedes solche Wort in eine Vielzahl von Vielbit-Bytes aufteilen und logische und arithmetische Operationen durchführen, indem die Bytes jeweils nacheinander manipuliert werden. Die meisten bekannten Schiebe- und Rotieischaltungen sind für eine Verv/endung in Verbindung mit byteseriellen Verarbeitem ungeeignet.
Es sind Schiebe- und Rotierschaltungen für 4-Bit-Byte-Verarbeiter bekannt, beispielsv/eise den Verarbeiter in der Nova-Serie von Rechnern, die von der Data General Corporation of Southborough, Massachusetis hergestellt werden. Die Schiebe- und Rotierschaltungen dieser Rechner arbeiten jedoch so, daß jedes Byte nur jeweils gleichzeitig um ein Bit verschoben werden kann. Wenn also ein 16-Bit-Wort um acht Bits verschoben werden soll, so müssen acht aufeinander folgende Schiebeoperationen durchgeführt werden, wobei jede Operation typisch drei getrennte Maschinenbefehle benötigt. Wenn ein Maschinenbefehl eine Ausführungszeit von etv/a einer Mikrosekunde hat, so v/ürde eine 8~Bit-Verschiebung eine Ausführungszeit von 24 Mikrosekunden benötigen. Man erkennt also,
6Q3827/ÜÖUÜ
2 5 56 6
daß Schiebe- und Rotieroperationen einen bedeutenden Betrag an Realzeit benötigen können, wenn sie Bit für Bit durchgeführt werden. Das ist nachteilig, da Schiebe- und Rotieroperationen in großem Umfang benutzt werden und der Verbrauch eines solchen Betrages an Realzeit für diese häufig durchgeführten Operationen den Arbeitsumfang beschränkt, den der Rechner ausführen kann.
Die Erfindung hat sich demgemäß die Aufgabe gestellt, diese Nachteile zu vermeiden. Zur Lösung der Aufgabe geht die Erfindung aus von einem Datenverarbeiter der eingangs genannten Art und ist gekennzeichnet durch eine Einrichtung zur Speicherung von Informationen, die die genannte Anzahl von Bitpositionen darstellen, eine Speichereinrichtung, die das Datenwort Byte für Byte an unterschiedlichen Speicherstellen in einer zweiten Bytefolge aufnimmt, die von den genannten Informationen abhängt, und eine Einrichtung, die unter Ansprechen auf die genannten Informationen und auf den gleichzeitigen Empfang von Bits aus jedem von aufeinander folgenden Paaren von Bytes, wobei die Bytes jedes Paares im Betrieb durch je die erste und zweite Bytefolge bereitgestellt werden, an ihrem Ausgang das um die Anzahl von Bitpositionen rotiefbar verschobene Datenwort liefert.
B09827/ÜSÜÜ
? Z 5 6 'i 1
Nach einer Weiterbildung der Erfindung kann die Speichereinrichtung so ausgelegt sein, daß sie das rotierbar verschobene Datenwort Byte für Byte an unterschiedlichen Speicherstellen aufnimmt.
In weiterer Ausbildung der Erfindung kann der Verarbeiter eine Einrichtung zum Adressieren unterschiedlicher Speicherstellen der Speichereinrichtung aufweisen, wobei die Adressiereinrichtung auf die genannten Informationen anspricht.
Die Einrichtung zur Speicherung von Informationen kann erste und zweite Speichermittel enthalten, die je Daten speichern, welche einen bestimmten Teil der genannten Informationen darstellen. Während der Operationen können diese Informationen eine Vielzahl von Bits umfassen, wobei das erste Speichermitfel das Komplement der höherstell igen Bits der Vielzahl von Bits und das zweite Speichermittel die niedrigerstelligen Bits der Vielzahl von Bits aufnimmt, Ausgangssignale des ersten Speichermittels die zweite Bytefolge steuern und Ausgangssignale des zweiten Speichermittels die genannte Einrichtung zur Lieferung des verschobenen Dafenwortes veranlassen, das Datenworf um die genannte Anzahl von Bitpositionen rotierbar zu verschieben.
609827/ÜCGG
556619-
Eine Weiterbildung der Erfindung sieht vor, daß die Einrichtung zur Lieferung des verschobenen Dcffenworfes eine erste Vielzahl von Eingängen besitzt, die je ein zugeordnetes Bit jedes Bytes der ersten Bytefolge aufnehmen, ferner eine zweite Vielzahl von Eingängen, die je ein zugeordnetes Bit jedes Bytes der zweiten Bytefolge aufnehmen und eine Einrichtung, die in Abhängigkeit von den genannten Informationen eine informationsabhängige Kombination von Eingängen der ersten und zweiten Vielzahl von Eingängen an den Ausgang der Einrichtung zur Lieferung des verschobenen Datenwortes koppeln.
In weiterer Ausbildung ist die Erfindung gerichtet auf ein Verfahren zum rotierbaren Verschieben von Bits eines Datenwortes um eine Anzahl von Bitpositionen, wobei das Datenwort eine Vielzahl von Mehrbit-Byfes enthält, die in einer ersten Bytefolge angeordnet sind. Die Erfindung sieht dabei vor, daß Informationen, die die genannte Anzahl von Bitpositionen darstellen, gespeichert werden, daß das Datenwort Byte für Byte an unterschiedlichen Speicherstellen einer Speichereinrichtung in einer zweiten Bytefolge gespeichert wird, daß die zweite Bytefolge von den genannten Informationen und von Bits aus jedem von aufeinanderfolgenden Paaren von Bytes abhängt, wobei die Bytes jedes Paares durch je die erste und zweite Bytefolge bereitgestellt werden und gleichzeitig 6G3827/0UUU
2556R1?
in Abhängigkeit von den genannten Informationen verarbeitet v/erden, um auf diese Weise das rotierbar verschobene Datenwort zu liefern.
Das rotierbar verschobene Datenwort kann Byte für Byte an unterschiedlichen Stellen der Speichereinrichtung gespeichert werden. Unterschiedliche Speicherstellen der Speichereinrichtung können in Abhängigkeit von den genannten Informationen adressiert werden, um die zweite Bytefolge aufzunehmen.
Daten, die einen ersten Teil der genannten Informationen darstellen, können in einem ersten Speichermittel und Daten, die den restlichen Teil der genannten Informationen darstellen, in einem zweiten Speichermittel gespeichert werden. Die genannten Informationen können eine Vielzahl von Bits aufweisen, wobei das Komplement der höherstelligen Bits der Vielzahl von Bits in dem ersten Speichermittel und die niedrigerstelligen Bits der Vielzahl von Bits in dem zweiten Speichermittel gespeichert ist, Ausgangssignale des ersten Speichermittels vorgesehen sind, um die zweite Bytefolge zu steuern und Ausgangssignale des zweiten Speichermittels vorgesehen sind, um die gleichzeitige Verarbeitung von Bits_von jedem der vorbestimmten Paare von Bytes zu steuern.
609827/0826
2 5 5 B 6 1 f
Bei einem noch irn einzelnen zu beschreibenden Ausführungsbeispiel der Erfindung wird ein zu verschiebendes 16-Bit-Wort zu Anfang Byte für Byte in vier aufeinanderfolgende Adressenstellen eines ersten Speichers eingegeben. Dann v/ird eine zweistufige Schiebeoperation eingeleitet;, indem die vier Bytes (A7 B, C, D) des zu verschiebenden Wortes in einen zweiten Speicher in einer Reihenfolge gegeben werden, die durch die Anzahl von Bitpositionen bestimmt ist, um die das Wort verschoben werden soll. Wenn beispielsweise eine Verschiebung um ein, zwei oder drei Bits angegeben wird, so werden die Bytes in aufeinanderfolgende Stellen des zweiten Speichers in der Reihenfolge B, C, D, A eingeschrieben. Andere Folgen ergeben sich bei anderen Verschiebungsbeträgen.
Bei der ersten Stufe der Operation wird das ursprüngliche Wort entweder um null, vier, acht oder zwölf Bit-Positionen verschoben. Bei der zweiten Operationsstufe wird das ursprüngliche Wort um die jeweils erforderliche zusätzliche Anzahl von Bitpositionen verschoben, d.h., um entweder null, eins oder zwei oder drei Positionen.
Bei der zweiten Stufe der Schiebeoperation wird der Inhalt beider Speicher gleichzeitig Byte für Byte ausgelesen und so an eine Schiebeschaltung gegeben, daß bei jedem Auslesen die Schiebeschaltung gleichzeitig 809827/0886
25566
zwei benachbarte Bytes des ursprünglichen Ιό-Bit-Wortes erhält. Jedes der beiden gleichzeitig empfangenen Bytes kommt von einem anderen der beiden Speicher.
Die Schiebeschaltung weist eine Vielzahl von Eingängen auf, die je einer besonderen Anzahl von Bit-Verschiebungspositionen entsprechen. Es wird dann derjenige Eingang aktiviert, der der Anzahl von zusätzlichen Positionen zugeordnet ist, um die das Wort bei dieser zweiten Stufe der Operation verschoben werden muß. Wenn beispielsweise jetzt eine Verschiebung um zwei erforderlich ist, so bewirkt das erste Lesen jedes Speichers, daß das Byte A vom ersten Speicher und das Byte B vom zweiten Speicher gleichzeitig an die Schiebeschaltung angelegt werden. Die Schiebeschaltung empfängt demgemäß gleichzeitig bei jedem Lesen der beiden Speicher acht Bits. Von diesen acht Bits werden nur diejenigen Eingänge aktiviert, die den beiden höchststell igen Bits des Byte A und den beiden niedrigststelligen Bits des Byte B zugeordnet sind, und nur diese vier Bits durchlaufen die Schiebeschaltung und werden als neues 4-Bit-Byte in den zweiten Speicher eingeschrieben.
Das gleichzeitige Auslesen aus den beiden Speichern setzt sich Byte für Byte fort, und bei jeder Leseoperation erhält die Schiebeschaltung
2556613-
-φ-
gleichzeitig die vier Bits eines Byte aus dem ersten Speicher und vier Bits eines benachbarten Byte aus' dem zweiten Speicher. Die Eingänge der Schiebeschalfung bleiben aktiviert, so daß bei jedem Lesen die zweiten bis sechsten Bits der beiden Bytes zusammengenommen empfangen werden, die Schiebeschaltung durchlaufen und in den zweiten Speicher geschrieben werden. Bei Durchführung der vierten Leseoperation erhält die Schiebeschaltung gleichzeitig das Byte D vom ersten Speicher und das Byte A vom zweiten Speicher. Die Schiebeschaltung spricht wiederum nur auf die zweiten bis sechsten Bits dieser beiden Bytes zusammen an und schreibt sie in den zweiten Speicher. Diese Bits sind die beiden höchststell igen Bits des Byte D und die beiden niedrigststelligen Bits des Byte A.
Zu diesem Zeitpunkt stellen dann die vier Bytes, die in den zweiten Speicher eingeschrieben worden sind, das ursprüngliche 16-Bit-Wort dar, das um die erforderliche Anzahl von Bitpositionen verschoben worden ist, im oben beschriebenen Beispiel um zwei Bitpositionen. Die vier verschobenen Bytes können jetzt Byte für Byte aus dem zweiten Speicher gelesen, zu einem 16-Bit-Wort zusammengefügt und an das Eingangs-Ausgangssystem gegeben werden. __
Nachfolgend soll die Erfindung anhand eines Ausführungsbeispiels
609827/0806
255651*
-a-
in Verbindung mit den Zeichnungen beschrieben werden. Es zeigen:
Fig. 1 eine Fernsprechanlage mit einem Datenverarbeiter nach
der Erfindung;
Fig. 2 und 3 den Datenverarbeiter nach Fig. 1;
Fig. 4 und 5 in vereinfachter Form den Aufbau und die gegenseitigen Beziehungen derjenigen Bauteile des Verarbeiters, die eine Schiebe- und Rotieroperation durchführen;
Fig. 6 Einzelheiten des SAR-Registers 215 in Fig. 3;
Fig. 7 die Einzelheiten der Rl- und R2-Register 209
in Fig. 3;
Fig. 8 Einzelheiten des L-Registers 216 in Fig. 3;
Fig. 9 Einzelheiten des CM-Speichers 207 in Fig. 3;
Fig. 10 Einzelheiten des RM-Speichers 208 in Fig. 3;
Fig. 11 Einzelheiten des TM-Speichers 206 in Fig. 2;
Fig. 12 Einzelheiten des Datenregisters 212 in Fig. 3;
Fig. 13 Einzelheiten der SC- und TPA-Register 218 und
217 in Fig. 2;
Fig. 14 Einzelheiten der Quellensammelleitung 1 in Fig.
609827/0866
und 3;
255B617-
/ i
-I L
Fig. 15 Einzelheiten der Queüerisamrnelleitung 2 in Fig.
und 3;
Fig. \6 EinzeIheitcn der arithmetischen Einheit (AMU)
in Fig. 2;
Fig. 17 Einzelheiten der MAC- und MRS-Reglster 219
und 220 in Flg. 2;
Fig, ^B Einzelheiten des MikroSpeichers 222 in Fig. 2j
Fig. 19 Einzelheiten des Bestimmungsdecoderte?Is der
Decodieriogik 226 in Fig, 2; Fig. 20 weitere Einzelheiten der Decodierlogik 222 in
Rg. 2;
Fig. 21 bis 24 typische Programmbefehle hoher Stufe, die der Ver-
arbeiter ausführen kann; Fig. 25 und 26 typische Mikrospeicherbefehle;
Fig. 27, 28 und 29 den Inholt der Speicher RM und TM an verschlede- vjsn ftjnkten typischer Schiebe- und RotieroperatJonen, die der Verarbelter durchführen kann;
Fia, 30 die Wahrheitstabelle für das AROM-Verarbettereiement
1602 in Fig. Ιό;
Fig. 31 _ ein Zeiidiagramm für die zeitliche Beziehung zwischen
den verschiedenen, vom Yerarbsiter benutzten Sieuerimpulsen; 6 0 9 8 2 7 / 0 8 6 Q '
Fig. 32 in tabellarischer Form die Quellenschaltungen für die ver
schiedenen, vom Verarbeiter benutzten Steuerleitungen und Steuersignale;
Fig. 34 und 35 Zeitdiagramme für die zeitliche Beziehung zwischen den verschiedenen Steuerimpulsen, die an die Mikrospeicherelemente 219, 220, 221 und 222 des Datenverarbeiters angelegt werden.
Die in Fig. 1 gezeigte Fernsprechanlage enthöMt einen Verarbeiter 101, einen Speicher 102, Teilnehmerleitungsschalter 105 und einen Verbindungsleitungsschalter 104. Die Teilnehmerleitungsschalter sind mit Fernsprechapparaten 109 verbunden. Der Verbindungsleitungsschalter ist an ein Amt 107 angeschlossen. Die Teilnehmerleitungsschalter und der Verbindungsleitungsschalter sind außerdem über individuelle Leitungswege 106 mit einer Netzwerks feuerung 103 verbunden. Die Anlage enthält außerdem eine Datensammetleitung 110, eine AdressensammeIleitung 111,
609827/Oüiiü
25566
eine Speichersteuersammei leitung 112 und eine Eingabe-Ausgabe-Steuersammelleitung 113. Die Adressensammelleitung und die Datensammelleitung sind gerneinsam mit dem Speicher, dem Verarbeiter und der Netzwerksteuerung verbunden. Die Speichersieuersammellettung 112 ist nur mit dem Verarbeiter und dem Speicher verbunden. Die Eingabe-Ausgabe-Steuersammelleitung ist nur an den Verarbeiter und das Eingabe-Ausgabesystem angeschlossen, von dem die Netzwerksteuerung 103 ein Teil ist.
Der Verarbeiter 101 arbeitet unter Steuerung von Programmbefehlen und Daten, die entweder zeitweilig oder dauernd im Speichersystem 102 gespeichert sind. Der Verarbeiter steuert mit Unterstützung des Speichersystems das im unteren Teil der Fig. 1 gezeigte Zeifmultiplex-Koppelfeld 108. Dies geschieht durch Überwachen des Zustandes jedes Teilnehmerleitungs- und Verbindungsleirungs-Schalters und durch selektives Andern des Zustandes verschiedener Bauelemente sowohl in der Netzwerksteuerung als auch in den Teilnehmerleitungs- und Verbindungsleitungsschaltern. Befehle werden vom Verarbeiter zur Netzwerksteuerung über die Daten-Sammelleitung 110 übertragen. Abfasfantworten und andere Zustandsinformationen werden von der Netzwerksteuerung zurück zum Verarbeiter über die Datensammelleitung 110 gegeben. Die Netzwerksteuerung wird
6O9827/O06i
2 5"B
durch die Adressensammel leitung 111 ausgewählt.
Entsprechend dem üblichen Zeitmultiplexverfahren werden zwei Teilnehmerleitungsschalter oder ein Teilnehmerleitungsschalter und ein Verbindungsleitungsschalter bei einem Anruf dadurch miteinander verbunden, daß die Verfügbarkeit einer freien Zeitlage bestimmt, die beiden zu verbindenden Schaltungen der freien Zeitlage zugeordnet und dann die Zeirmultiplexschajter in den beiden Schaltungen bei jedem Auftreten der Zeitlage geschlossen werden. Ein Teilnehmerleitungsschalter/ beispielsweise 105-0 wird einer Zeitlage dadurch zugeordnet, daß eine binäre 1 in eine Teilnehmerleitungsschalter-Schieberegisterstelle eingeschrieben wird, die der Zeitlage eindeutig zugeordnet ist. Dadurch wird das Schließen des Schalters bei jedem Auftreten der Zeitlage veranlaßt, so daß der Teilnehmerleitungsschalter bei jedem Auftreten der Zeitlage, der er zugeordnet ist, mit der Zeitmultiplexsammelleitung 108 verbunden wird. Auf entsprechende Weise wird ein Teilnehmerleitungsschalter oder ein Verbindungsleitungsschalter von einer Gesprächsverbindung abgetrennt, indem die binäre 1 in seinem Schieberegister gelöscht wird. Dadurch wird der Teilnehmerleitungsschalter deaktiviert, so daß er beim nachfolgenden Auftreten der Zeitlage, der er zugeordnet worden ist,
609827/0 δüö
255661f
nicht schließt.
Der Verarbeiter kann selektiv Speicherplätze dadurch adressieren, daß er über die Sarmnejieitung H] Adresseninformationen zum Speicher überträgt, Der innaif der adressierten Speichersreile wird über die Oaiensamjnelieityrjg I Ιϋ zum Vemrfoeiier zurückgegeben. Der Verarbeiter verkehrt mit der Nefzwerksteuerung auf entsprechende Weise durch Übertragung von Adressenfee fehl en über die Sammelleitung IiI^ wobei Antworten der Anlöge über die Sammelleitung 110 zurückgegeben werden. Die Steuer-Sisrranejleitungen 112 υηά 113 vmfassen eine Vielzahl getrennter Adern, die |e für eine besondere Fuakrlon benutzr werden, beispielsweise Einschreiben in den Speicher, Lesen aus dem Speicher υηά Angaben für die Vervollständigung des Speichers« Die verschiedenen Adern der Srnnmeileitung 113 erfüllen ähnliche Funktionen, öie Sammeileitungen HO, 111 und 113 führen außerdem zu weiteren Emgabe-Ausgabegeräten, beispielsweise Datenverfemdungen und ähnlichem.
Ftg. 2 und 3 zeigen einen mikroprogrammierten Verarbeiter nach der Erfindung. Er enthält· eine arithmetische Einheit AMU 202, eine Queliensammejleitung ί (Element 203) und eine Gueilensammel leitung 2 (Element 204).
255661t
Die Quellensammelleitungen geben an die arithmetische Einheit diejenigen Informationen, die arithmetischen oder logischen Operationen zu unterwerfen sind. Der Verarbeiter enthält außerdem eine Besfimmungssammeileitung 205, die die Ausgangsinformationen der arithmetischen Einheit aufnimmt.
Der Verarbeiter enthält darüberhinaus einen TM-Speicher 206 mit wahlfreiem Zugriff, einen CM-Festwertspeicher 207 (Nurlesespeicher) und einen RM-Speicher 208 mit wahlfreiem Zugriff. Die Ausgangssignale des TM-Speichers werden über die Leitung 249 und den Sammelleitungs-Mulfiplexer 204-M zur Quellensammelleitung 2 gegeben. Die Ausgangssignale der Speicher CM und RM werden über die Wege 250, 251 und den Sammelleitungs-
Multiplexer 203-M zur Quellensammelleitung 1 übertragen. Die Bestimmungssammelleitung 205 kann die ihr von der arithmetischen Einheit zugeführte Information selektiv zum TM-Speicher 20ό, zum SORegister 218, zum TPA-Register 217, zum L-Reg ister 216, zum RM- Speicher 208, zum Datenregister 212 sowie zum SAR-Register 205 geben. Das Register SC speichert die beiden niedrigststelligen Bits der Schiebe- und Rotierinformation. -Die Register TPA und L Speichern die Adressen informationen für die Speicher TM, CM und RM.
609827/0Ü66
255661f
-1S-
Der Verarbeiter weist außerdem einen Weg 210 auf, über den Daten an die im unteren Teil der Fig. 3 gezeigten Datensammelleitung 110 gegeben bzw. aufgenommen werden. Alle Daten, die der Verarbeiter an die Datensammelleitung 110 gibt, werden zunächst in das Datenregister 212 eingegeben und dann über den Weg 210 zur Sammelleitung 110 übertragen. Die Informationen, die der Verarbeiter von der Sammelleitung 110 erhält, können alternativ über den Multiplexer 221 in das Datenregister 212, die Rl- und R2-Register 209 oder das MAC-Register 220 eingegeben werden. Der Verarbeiter überträgt Adresseninformationen an die Adressensammelleitung 111 (Fig. 3) über das SAR-Register 215 und den Weg 229. Das SAR-Register nimmt diese Adresseninformation von der arithmetischen Einheit über die Bestimmungsammelleitung 205 auf.
Bei dem Verarbeiter handelt es sich um einen mikroprogrammierten Verarbeiter, der demgemäß einen Festwert-Mikrospeicher 222 aufweist, welcher durch Informationen vom MAC-Register 220 adressiert wird. Das Ausgangssignal des MikroSpeichers 222 läuft über den Weg 230 zur Decodierlogik 226 und zum Zeitsteuerungsgenerator 225. Die Decodierlogik 226 umfaßt eine Vielzahl von Decodierern, die das Ausgangssignal des Mikrospeichers 222 aufnehmen und decodieren, um die Gatter-
6Q9827/Q86Ö
signale, Synchronisiersignale und weitere Signale zu erzeugen, die für die Steuerung des Verarbeiters erforderlich sind. Der Zeitsteuerungsgenerator 225 enthält außerdem diejenigen Schaltungen, welche zur Erzeugung von vielen der für den Verarbeiter erforderlichen Steuersignalen benötigt werden. Diese Signale sind in den Zeitdiagrammen der Fig. 28, 4 und 5 gezeigt. Das Eingangssignal des Generators 225 auf dem Weg 230 verändert und steuert selektiv den Zustand des Generators zur Anpassung an die verschiedenen Verarbeiterfunktionen. Der Zeitsteuerungsgenerator wird außerdem durch den Taktgeber 224 gesteuert. Das MAC-Register 220 kann aus dem MRS-Rcgister, durch den Mikrospeicher 222 oder die Sammelleitung 210 geladen werden. Die vom Mikrospeicher 222 ankommende Information schaltet das MAC-Register auf eine neue Adresse von einem Abzweigbefehl des Mikrospeichers 222. Die über die Sammelleitung oder den Weg 210 ankommende Information kann das MAC-Register auf jede Adressenposition einstellen. Das MRS-Register speichert Unterprogramm-Rückkehradressen und stellt am Ende des Unterprogramms den Mikrospeicher auf die richtige Rückkehradresse ein. Der Taktgeber 224, der Zeitsteuerungsgenerator 225 und die Decodierlogik 226 interpretieren und decodieren zusammen die vom Mikrospeicher 222 ankommenden Mikroprogrammwörter und~erzeugen alle notwendigen Zeitsteuerungs- und sonstigen Steuersignale, die zur
609827/OüGU
2 5 5 R R -2υ -
Ausführung dieser Befehle erforderlich sind.
Die Sieuerflipflops 228 enthalfen eine Vielzahl von Flipflops, die durch
Signale einstellbar sind, welche von der Decodierlogik 226 sowie von den Sammelleitungen 112 und 113 ankommen. Nach Einstellung durch die De- codlerloglk geben diese Fiipflops dann Steuetsignaie/ beispielsweise Leseoder Schreibkommandos an die Sammelleitungen 112 und 113. Bei Einstellung aufgrund von Signalen^ als über die Scmrrneiieitungen 112 ursd 113 an kommen, speichern die Flipfiops Informationen und machen sie für den Verarbeiter verfügbar, wodurch angezeigt wird, daß ein Speicherkornmando
oder eine Eingabe-Ausgabefunktion durchgeführt worden ist.
Es se] beispielsweise und zur Erläuterung angenommen^, daß die Datensammelieiiung 110 ond die AdressemamfneJlesfung 111 lo-Bli-P^railehommei- ieiiungensind, Demgemäß tauscht der Yerarbejfer Daten und-Informationen mit dem Speicher und den Eingsbe-Ausgobe-Sysfejnen ober die Samrnei leitungen 110 und 111 mit Hilfe von 16-Bif-Wörtern aus. Der Verarbeitet behandelt Intern die 'ihm über die Samme]leitung 110 zugeführten 16-BIt-Wörfer durch eine Unterteilung in vier 4-Bit-Bytes, υηύ bey/eg* darm jedes Wort, marsfpuliert es und filhrt logische und arithmetische operationen mit ihm Byte für Byte durch. Mit Ausnahme der für den Mikroprogramm-Ab-
60S827/0Ö0Ö
-27-
schnitt des Verarbeiters und die Decodierlogik erforderlichen Informationen werden alle Informationen innerhalb des Verarbeiteis über die Quellensammelleiiung 1, die Quellensammelleitung 2, die arithmetische Einheit und die Bestimmungssammelleitung 205 Byte für Byte übertragen.
Das Datenregister 212 gibt Informationen auf die Datensammelleitung 110 und empfängt Informationen von dieser. Alle über die Sammelleitungen 110 zum Speichersystem 102 oder zu einem Eingabe-Ausgabegerät, beispielsweise der Netzwerksteuerung 103 übertragenen Informationen müssen durch interne Bauteile des Verarbeiters erzeugt, an die Bestimmungssammelleitung 205 angelegt und Byte für Byte in das Datenregister 212 eingegeben v/erden. Von dort werden die Informationen als 16-Bit-Wörter auf die Sammelleitung 110 gegeben. Auf entsprechende Weise werden alle Informationen,, die das Dafenregister 212 vom Speichersystem oder dem Eingabe-Ausgabesystem über die Sammelleitung 110 empfängt, im 16-Bit-Wortformat aufgenommen und eingegeben. Jedes solche Wort wird nachfolgend vom Register 212 zu den verschiedenen internen Bauelementen des Verarbeiters byteserieli übertragen.
Die internen Datensammelleitungen sind die Quellensammelleitung 1, die Quellensammelleitung 2 und die Besfimmungssammeileitung 205. Ein
609827/üüÜU
2 5 5 6 6 1 J?
16-Bit-Wort, das entweder Daten oder Programminformationen darstellt, kann Byte für Byte auf eine der Quellensammelleitungen gegeben, zur arithmetischen Einheit übertragen und dann Byte für Byte an die Bestirnmungssammelleitung angelegt werden. Von dieser wird jedes Byte dann 1) in Register oder einen Speicher des Verarbeiters eingegeben, 2) an das Register 215 gegeben, dort in ein T 6—Bit- Format umgewandelt und dann als Adresseninformation auf die Adressensammelleitung 111 übertragen, oder 3) in das Datenregisfer 212 eingegeben, wo es in das 1 ό—Bit- Format umgesetzt und dann als Datenwort über den Weg 21 0 zur Sammelleitung 110 überfragen wird.
Zur weiteren Beschreibung des Verarbeiters sei angenommen, daß ein 16-Bit-Wort von der Sammelleitung 110 ankommt und über den Weg 210 an das Datenregister 212 übertragen wird, wo es zeitweilig im 16—Bit- Format gespeichert wird. Wenn das Wort nachfolgend von der arithmetischen Einheit verarbeitet werden soll, wird es Byte für Byte vom Register 212 über den Weg 231 zur Quellensammelleitung loder 2 und dann zur arithmetischen Einheit 202 übertragen. Die vier letztstell igen Bits (Byte 0) werden zuerst auf die Quellensammelleitung gegeben, durch die arithmetische Einheit verarbeitet und dann auf die Bestimmungssammelleitung 205
609827/0868
255661?
überfragen. Von dort kann dieses Byte dann in irgendeine Schaltung gegeben werden, die mit der Sammelleitung 205 verbunden ist, beispielsweise in das SAR-Registec. Diese Operation kann dann dreimal wiederholt v/erden, um das gesamte 16-Bit-Wort aus dem Datenregister 212 zu lesen und in geänderter Form in das SAR-Register zu übertragen.
Die Zeit, die der Verarbeiter zur byteseriellen Verarbeitung eines 16-Bit-Wortes benötigt, wird Mikrozyklus genannt. Ein Mikrozyklus ist in vier Phasen 0, 1, 2 und 3 unterteilt. Für jedes der vier Bytes, die zusammen ein 16-Bit-Wort bilden, ist eine Phase vorhanden. Jede Phase ist in zwei Unterphasen unterteilt, die Laden und Takt genannt werden. Die arithmetische Einheit enthält für jede der beiden Quellensammelleitungen ein getrenntes 4-Bit-Register. Während der Lade-Unterphase gibt eine gewählte Quellenschaltung, beispielsweise der TM-, der CM- oder der RM-Speicher, das Register 209 oder das Datenregister 212 seine Information auf eine Quellensammelleitung. Am Ende der Lade-Unterphase wird diese Information unter Takteinfluß in das jeweilige 4-Bit-Register der arithmetischen Einheit übertragen. Am Ende der Takt-Unterphase für diese Phase werden die Ergebnisse der von der arithmetischen Einheit mit diesen Daten in ihren 4-Bit-Registern durchgeführten Operation unter Takteinfluß in eine Bestimmungs-
609827/0066
schaltung übertragen, beispielsweise das SAR-Register 215, das Datenregister 212, den RM-Speicher 208 oder den TM-Speicher 206.
Der RM-Speicher ist ein kleiner bipolarer Speicher {64 χ 4) und sieili einen Systemprogramm lerer mit sechzehn Allzweckregistern dar. Die RI - und IS-Eingänge dieses Speichers sind fest mit den Ausgängen der Rl-R2-Regisrer 209 verbunden und ermöglichen die sehne\je Adressierung des Speichers m\i In format ionen,- die über d'ie Sammelleitung 110 ankommen und in das RI-R2-Register eingegeben werde«. Der Adressenejngang 256 des RM-Spelchers liefert nur die Anfangsadresse eines ίό-Bit-Wortes, das in Form von 4-ßit-Byies gespeichert ist. Die einzelnen Bytes dieses Wortes werden «nfer Steuerung der Phasenlnfonnafion adressier^ <fie vom Zeifsfeuenjngsgenerator ankommt.
Der CM-Spelcher ist ein bipolarer Festwertspeicher {ROM} mif einer Kapazität von 256 χ 4 Bits. Dieser Speicher liefert Konsfanten zur Verwendung durch das Mikroprogramm, Eine häufig benutzte Konstante lsi· beispielsweise ein Ιό-ΒΠ-Wcrt, das Byte für Byte gespeichert isf und nur O-Werte enthält. Dss L-Regisrer wird für Adressierzwecke benutzt υηά ist ein o-Bi^fieglsrer, das entweder von der Bestlmmungssammeileitung über den Weg 240 oder
609827/OöyS
255661^
-2S-
mit einem Mikrobefehl über den Weg 258 geladen werden kann. Das L-Register wird vom Mikroprogramm für Index-Operationen verwendet.
Der TM-Speicher ist ein bipolarer Speicher mit beliebigem Zugriff (RAM)7 der eine Kapazität von 24 χ 4 Bits besitzt. Dies entspricht einer Speicherkapazität von sechs 16-Bit-Registern.
Der Verarbeiter gemäß Fig. 2 und 3 ist ein Allzwecktyp und kann eine Vielzahl von Operationen ausführen. Faßt man seine Möglichkeiten summarisch zusammen, so kann der Verarbeiter veranlassen, daß Informationen an eine der oder beide Quellensammelleitungen von irgendeiner gewählten Schaltung aus angelegt werden, deren Ausgang mit diesen Sammelleitungen verbunden ist. Die arithmetische Einheit nimmt diese Informationen von den Sammelleitungen auf, verarbeitet sie auf die durch den Befehl aus dem MikroSpeicher 222 angegebene Weise und legt sie dann an die Bestimmungssammelleitung an. Von dort können die Informationen dann zu irgendeiner Schaltung übertragen werden, deren Eingang mit der Bestimmungssammelleifung verbunden ist.
Die Möglichkeiten des Verarbeiters lassen sich besser anhand der Beschrei-
609827/OOGß
255BR -26-
bung einiger weniger typischer Operationen verstehen. Fig. 21 zeigt einen Maschinenbefehl, mit dem der Inhalt eines Wortes R2 des RM-Speichers 208 zum Inhalt des Wortes Rl addiert und das Ergebnis im Wort Rl gespeichert wird. Die Wörter Rl und R2 sind nicht das erste und zweite Wort des RM-Speichers. Ihre Adresse wird durch den Inhalt der Rl- und R2~Felder des Befehls angegeben. Das R2-Feld umfaßt die Bits 0 bis 3 und das Rl-FeId die Bits 4 bis 7. Der Operationscode für diesen Befehl ist 03 und ist in den Bits 8 bis 14 des Feldes gespeichert. Die Funktion des ΒΑ-Feldes ist nicht wichtig für die vorliegende Erläuterung.
Den Befehl gemäß Fig. 21 nimmt der Verarbeiter vom Speichersystem 102 über die Datensammeileitung 110 und den Weg 210 auf. Die am weitesten rechts stehenden acht Bits dieses Befehls, nämlich die Rl- und R2-Felder werden in die Rl- und R2-Register 209 eingegeben. Die Operationscodebits laufen über den Weg 210 zum mittleren Eingang des Multiplexers 221 und dann zum MAC-Register 220, wo eine binäre 03 in das Register eingegeben wird. Diese binäre 03 gibt die Anfangsadresse der Mikrospeicherbefehie an, die zur Steuerung der Decodierlogik 226 und des Zeitsteuerungsgenerators 225 erforderlich sind, derart, daß die in Fig. 21 angegebenen Operationen ausgeführt werden. Das erste Wort dieses Mikrobefehls hat die in Fig. 26 gezeigte Art
609827/086(5
2556Π1Τ}.
und wird Bewegungsbefehl (MOV) genannt. Für diesen Befehl ist der RM-Speicher die Quellenschaliung und der TM-Speicher die Bestimmungsschaltung. Es wird jetzt unter Steuerung des Befehls gemäß Fig. 26 das Wort R2 im RM-Speicher an die Quellensammelleitung 1 gegeben, über die arithmetische Einheit geführt und in diejenige Adressenstelle des TM-Speichers eingegeben, die das DES-FeId in Fig. 26 angibt.
Danach wird das MAC-Register um eine Position weitergeschaltet und auf einen arithmetischen Befehl der in Fig. 25 gezeigten Art gebracht. Bei diesem Befehl gibt der TM-Speicher das Wort R2 auf die Quellensammelleitung 2, der RM-Speicher legt das Wort RI an die Quellensammelleitung 1 an und die arithmetische Einheit addiert die beiden Wörter und gibt die Summe in das Wort Rl des RM-Speichers. Für diese Operation ist der RM-Speicher
die durch das Sl-FeId angegebene Quellenschaltung, der TM-Speicher ist die durch das S2-Feld angegebene Quellenschaltung und der RM-Speicher ist die durch das Bestimmungsfeld (DES) angegebene Schaltung. Der Inhalt des arithmetischen Feldes veranlaßt die arithmetische Einheit, die auf den beiden Quellensammelleitungen zugeführten Informationen zu addieren.
Bei der Durchführung dieser Operation wird das Wort R2 im TM-Speicher
609827/0866
2 5 5 R R 1 ψ -26-
Byte für Byte an die Quellensammelleitung 2 angelegt und das Wort Rl aus dem RM-Speicher wird Byte für Byte an die Quellensammelleitung 1 gegeben. Die arithmetische Einheit bestimmt die Summe für jedes Paar von Bytes, das über die beiden Quellensammelleitungen ankommt, und gibt die Summe auf die Bestimmungssammelleitung. Von dort wird jedes von der arithmetischen .-Einheit kommende Byte in das Rl-Wort des RM-Speichers gegeben, da der RM-Speicher die durch das DES-FeId in der arithmetischen Anordnung gemäß Fig. 25 angegebene Bestimmungsschaitung ist.
Eine · weitere Art von Befehl, die die Anlage ausführen kann, ist in Fig. angegeben. Dabei wird ein angegebenes Binärwort I zum Inhalt des Wortes Rl des RM-Speichers addiert und das Ergebnis in das Wort Rl gegeben. Wie in Fig. 22 angegeben, benötigt diese Operation zwei Befehlswörter. Beim ersten Wort wird der Inhalt des Rl-Feldes von der Datensammelleitung 110 aufgenommen und in das Rl-Register 209 gegeben. Die Information wird dann über den Weg 253 als Adressierinformation zum RM-Speicher übertragen und gibt dasjenige Wort an, das zu verarbeiten ist.Außerdem identifiziert beim ersten Befehlswort der Operationscode 07 den Befehl und wird über den Multiplexer 221 in das MAC-Reg ister 220 eingegeben, um den MikroSpeicher auf die richtige Adresse weiterzuschalten. Diese Adressen information bringt
609827/OUüü
den MikroSpeicher 222 auf einen Bewegungsbefehl der in Fig. 26 dargestellten Art, bei dem das Rl-Wort des RM-Speichers an die Quellensamrnelieitung 1 gegeben, zur arithmetischen Einheit übertragen und über diese in ein entsprechendes Wort des TM-Speichers gegeben wird.
Danach wird das zweite Wort des in Fig. 22 gezeigten Befehls vom VerGibeiter aufgenommen. Das gesamte Wort stellt die Binärzahl dar, die zum augenblicklichen Inhalt von Rl zu addieren und dann in Rl zu speichern ist. Dieses 16-Bit-Wort wird über die Sammelleitung 110 aufgenommen und in das Datenregister 212 gegeben. Danach geht der Mikrospeicher auf einen arithmetischen Befehl entsprechend der Angabe in Fig. 25 weiter. Zu diesem Zeitpunkt wird das 16-Bit-Wort im Datenregister 212 ausgelesen und Byte für Byte während feder Phase auf dieQuellensammelleitung 1 übertragen, während gleichzeitig das Wort Rl im TM-Speicher ausgelesen und Byte für Byte auf die Quellensammelleitung 2 gegeben wird. Die arithmetische Einheit empfängt die beiden Wörter gleichzeitig Byte für Byte, addiert sie und die Summe wird auf die Bestimmungssammelleitung 205 übertragen und dann in das Wort Rl des RM-Speichers eingegeben.
Wie bereits erwähnt, ist der CM-Speicher 207 ein Festwertspeicher, der
608827/0-806
25566 -Zo-
nur Konstanten speichert. Er kann bei Operationen ähnlich den gerade beschriebenen Operationen verwendet werden. Beispielsweise kann ein Befehl verlangen, daß ein bestimmtes Wort des CM-Speichers zu einem bestimmten Wort des RM-Speichers addiert und die Summe im gleichen oder einem anderen Wort des RM-Speichers aufgenommen oder alternativ auf entweder die Oatensamme^eife«g 110 oder die Ädressensammellell-ung 111 gegeben wird^ Ein Befehi dieser Art wird durch Operationen ausgeführt, die den eben beschriebenen Operationen "analog sind.
Fig. 23 zeigt einen Maschinenbefehl hoher Stufe, der Jn Verbindung m'ii den Schiebe- isnd RofiemiögUchiceiten des Vorarbeiters benutzt wird* Eine 11 im Operationscodefeld identifiziert den Befehl und gibt 0% daß ein Wort RI, dessen Adresse im RM-Speicher durch das RI-FeJd bezeichnet wird, um eine Anzahl von BUposttiorven zu verschieben Ist, die durch das N-FeId bezeichnet wird. Dieser Befefd kommt über die DatemammeiiejfiifK 110 an und wird dem Verarbeiter über den Weg 210 zugeführt, wobei die Bits des GperoHonscode durch den Multiplexer 221 In aas MAC-Register 220 gegeber? werden» Die am wesfesfers rechis stehenden acht QiU1 nömllch das Si- und N-FeId, werden in die Rl- und R2-Re<jister 209 eingegeben*
609827/0886
2 5 5 6 5 1
-37-
Der vorgenannte Befehl erfordert die Ausführung von zwei Mikrospeicherbefehlen. Der erste Mikrobefehl gibt den Inhalt des R2-Registers über den Weg 234 auf die Quellensammelleitung 2. Von dort werden die Informationen über die arithmetische Einheit und den Weg 236 zum SC- und TPA-Register 218 und 217 übertragen. Der Inhalt dieser Register stellt dann zusammen die angegebene Anzahl von Bitpositionen dar, um die das Rl-Wort zu verschieben ist. Beim nächsten Mikrobefehl adressiert der Inhalt des Rl-Registers 209 den RM-Speicher 208 derart, daß er den Inhalt des Rl-Wortes an die Quellensammelleitung 1 anlegt, über die es zur arithmetischen Einheit übertragen wird. Diese schreibt die Information Byte für Byte in einer besonders geordneten Folge in den TM-Speicher. Die besonders geordnete Folge wird durch die im TPA-Register 217 gespeicherte Schiebeinformation definiert. Das ursprüngliche Rl-Wort bleibt weiter im RM-Speicher. Danach wird das ursprüngliche Rl-V/ort aus dem Rl-Abschnitt des RM-Speichers auf die Quellensammelleitung 1 ausgelesen. Gleichzeitig wird die neugeordnete Abwandlung des Wortes Byte für Byte vom TM-Speicher auf die Quellensammelleitung 2 gegeben. Beide Sammelleitungen sind jetzt mit einer Schiebeschaltung in der arithmetischen Einheit verbunden, und beim gleichzeitigen Auslesen jedes Byte aus den beiden Speichern wird die durch jedes Paar von gleichzeitigen Bytes dargestellte Information von der Schiebeschaltung aufgenommen und wieder in der verschobenen Form in den TM-Speicher
609827/0866
eingeschrieben, wobei die verschobene Form durch den augenblicklichen Inhalt des SC-Registers angegeben wird. Aus dem TM-Speicher wird dann das Wort je nach Bedarf über die Quellensammelleitung 2, die arithmetische Einheit und die Bestimmungssammelleitung ausgelesen und an irgendeine der Schaltungen angelegt, die mit der Bestimmungssammelleitung verbunden sind.
Fig. 24 zeigt eine etwas andere Art eines Schiebebefehls. Bei diesem Befehl wird der lnhalr ds". Rl-Wortes nach rechts um einen Betrag verschoben, den die unteren vier Bits des R2-Wortes im RM-Speicher angeben. Der Verarbeiter ni.nmt diesen Befehl über die Datensammelleitung 110 auf, gibt den Operationscode 13 über den Multiplexer 221 in das MAC-Reg ister 220 und lädt die Bits Rl und R2 in das Rl- und R2-Regi3tsr 209. Danach wird der Inhalt des R2-Registers als Adressierinformation an den RM-Speicher übertrage^ der den Inhalt seines R2-Wortes Byte für Byte ausliest und an die Quellensammelleitung 1 anlegt, über die es der arithmetischen Einheit zugeführt wird. Die ersten drei Bytes werden nicht beachtet und nicht benutzt. Das letzte Byte, nämlich die niedrigstelligen vier Bits, werden von der arithmetischen Einheit über Wege 236 und 237 den SC- und TPA-Registern zugeführt, wo sie die Anzahl von Bitpositione:-. angeben, um die das Rl-
609827/0866
255661|
Wort zu verschieben ist. Danach wird auf ähnliche Weise, wie bereits für die Schiebe- und Rotierfunktion gemäß Fig. 23 beschrieben, der Inhalt des Rl-Wortes aus dem RM-Speicher an die Quellensammelleitung 1 gegeben und über die arit/uietische Einheit in veränderter Folge in den TM-Speicher geschrieben. Das R2-Wort im RM-Speicher und das R2-Wort mit der geänderten Folge aus dem TM-Speicher werden dann gleichzeitig Byte für Byte an die Quellensammelleitung 1 und die Quellensammelleitung 2 angelegt und in den TM-Speicher mit einer Bitverschiebung eingeschrieben, deren Betrag durch das SC-Register angegeben wird.
609827 / 0 έ? C Ö
Fig, 4 zeigt die Elemeinte des Verarbeiten m einer Anordnung,, die das Verständnis der Schiebe- und Ratierschaltung erleichtert. Viele der Baufeile in Fig. 4 sind auch in den Fig. 2 oder 3 dargestef ft und tragen die gleichen Bezugszeichen. Beispielsweise enthält Fig. 4 den Zeitsfeuerungsgenerator 225, den ßM-Speicher 2Q8, den TM-Speicher 206, das TPA-RegEster 2ΐ7, das SC-Register 218, die Quel'tensammetfettungen I und 2, ate BestErtimungssam«tell!eftung 205 und die arithmetische Einheit 202. Einige dieser Bautet te sind in FEg. 4 genauer als in den Fig. 2 und 3 gezeigt,, um das Verständnis für die Einzelheiten der Schiebe- und Rctieroperarion zu vereinfachen;
Es sei anhand der obigen Erläuterungen der Fig. 2 und 3 daran erinnert, daß eine Schiebe- und Rofieraperatfon durchgeführt wird, indem das zu verschiebende Wort tn den RM-Speicher eingegeben wird, Informationen in die SC- und TPA-Reg ister 218, 217 gegeben werden, die die Anzahl von Bffposifionen angeben, um die das Wort im RM-Speicher zu verschieben tst, das Wort aus dem RM-Speicher gelesen und in den TM-Speicher in einer Byfefofge eingeschrieben wird, die durch die Schiebeinformafton im TPÄ-Register bestimmt wird, die RM- und TM-Speicher gleichzeitig Byte für Byte ausgelesen und die gleichzeitig gelesenen Bytes
255651^
über die Quellensammelleitungen 1 , 2 zur arithmetischen Einheit übertragen werden, deren Schaltungen die durch die beiden gleichzeitig eintreffenden Bits dargestellte Information um die Anzahl von Bitpositionen verschiebt, die durch die Information im SC-Register 218 dargestellt wird, und indem die vier Bytes der verschobenen Information in den TM-Speicher gegeben werden.
Am Ende dieses Vorgangs und nach Eintreffen des letzten Byte aus den Speichern RM und TM und Wiedereinschreiben in verschobener Reihenfolge in den Speicher TM, stellt die Folge, in der diese vier Bytes im TM-Speicher erscheinen, jetzt das ursprüngliche Wort im RM-Speicher dar, verschoben um die angegebene Anzahl von Bitpositionen. Von nun an kann das verschobene Wort im TM-Speicher für verschiedene Zwecke benutzt werden, beispielsweise intern als Teil nachfolgender arithmetischer oder logischer Operationen. Alternativ kann es über die Bestimmungssammelleitung zum Eingabe-Ausgabesystem ausgegeben werden und zwar entweder über das Datenregister 212 oder das SAR-Register 215.
Als Beispiel wird jetzt eine 4-Bit-Rechtsschiebe- und Rotieroperation genauer beschrieben. Es sei angenommen, daß unmittelbar vor Beginn dieser Operation ein Wort mit den Bytes A, B, C, D sequentiell in vier
609827/0866
2 5 5 6 61
aufeinander folgenden Bytestellen des RM-Speichers gespeichert ist, wobei diese Speicherstellen zur Erläuterung mit 0, 1, 2, 3 bezeichnet werden. Die vier Speicherstellen können irgendwo innerhalb des RM-Speichers sein, der typischerweise eine Kapazität von sechzehn Wörtern oder vierundsechzig Bytes haben kann. Fig. 27 zeigt den RM-Speicher mit den Bytes A, B, C, D in den Speicherstellen 0, 1,2, 3.
Vor Beginn der Schiebeoperation v/erden vier Bits, die die Anzahl von
Bitpositionen angeben, um die das Wort im RM-Speicher zu verschieben ist, entweder durch das R2-Register an die Quellensammelleitung 2
(für einen Befehl gemäß Fig. 23) oder durch den RM-Speicher an die
Quellensammelleitung 1 (für einen Befehl gemäß Fig. 24) angelegt
und zur arithmetischen Einheit geführt. Diese gibt die beiden niedrigststelligen Bits der vier Bits von der Bestimmungssammelleitung in das SC-Register 218 und die beiden höchststell igen Bits der vier Bits in komplementärer Form in das TPA-Register 217. Für eine Verschiebung um vier
(0I1, 00) Bitpositionen wird eine binäre Null (00) in das SC-Register und eine binäre Zwei (10) in das TPÄ-Regisfer geschrieben. Das Ladesigna]
403 gibt diese Schiebeinfonnafion von der hestimmungssammeileliung
in das TPA-Register 217 und das SC-Register 218.
60S827/G86P ,
255361^
Das ζυ verschiebende Wort im RM-Speicher wird ausgelesen, über die Quellensammelleitung 1 zur arithmetischen Einheit übertragen und in den TM-Speicher eingeschrieben. Die Adern 256 und 404 liefern die Adresseninformation für das Lesen des RM-Speichers. Die Ader 256 stellt die vier höchststell igen Bits der Information bereit. Diese vier Bits bleiben während der Leseoperation konstant und steuern die Leseschaltungen auf das erste der vier Bytes des auszulesenden Wortes, nämlich das Byte 0. Die Adern 404 liefern die beiden niedrigststelligen Bits der Adresseninformation und bringen nachfolgend die Leseschaltungen auf die Bytes 0, I7 2, 3 in dieser Reihenfolge.
Die DES-Leitung 260 liefert die drei höchststell igen Bits zur Einstellung der Adressenschaltung des TM-Speichers auf das Byte 0 eines Wortes. Die Leitung 257 liefert die beiden niedrigststelligen Bits der Steuerinformation, nämlich die Byte-Information. Diese beiden Bits sind im Augenblick 10.
Das Byte A in der Speicherstelle 0 des RM-Speichers wird ausgelesen und in die Speicherstelle 2 des TM-Speichers eingeschrieben^ da das TPA-Register im Augenblick auf dem Zählwert 2 ist. Auf den Wert 2 ist es durch das Komplement (10) der linken beiden Ziffern (01) der
609827/ÜüiiÜ
2 5 566
Schiebeinformation (0I7 00) eingestellt worden. Dieses Byte wird ajs dem RM-Speicher ausgelesen und unter Steuerung des Ladeimpulses für die Phase 0 im Zeitdiagramm gemäß Fig. 31 an die Quellensammelleitung 1 gegeben. Das Byte wird dann über die ALU-Einheit 420 der arithmetischen Einheit 202, und über den Wahler 402 an die Bestimmungssammelleitung 205 übertragen. Von dort wird sie zum Taktzeitpunkt der Phase 0 in den TM-Speicher gegeben. Der Taktimpuls ist in Fig. 4 auf der vom Zeitsteuerungsgenerator 225 kommenden Leitung 401 gezeigt. Der Impuls läuft über das ODER-Gatter 405 und schaltet das TPA-Register 421 um eine Position weiter. Für den vorliegenden Fall wird das Register 421 von der Position 2 auf die Position 3 geschaltet.
Die Byte-Adresse auf der Leitung 404 für den RM-Speicher ändert sich von binär 0 auf 1, nachdem das Byte 0 aus dem RM-Speicher gelesen und in die Position 2 des TM-Speichers eingeschrieben ist. Die Adresseninformation auf der Leitung 250 bleibt während der gesamten Schiebe- und Rotieroperation fest. Danach wird das Byte 1 aus dem RM-Speicher gelesen und über die ALU-Einheit 420 und den Wähler 402 an die Bestimmungssammelleitung 205 übertragen. Von dort wird sie in die Position 3 des TM-Speichers eingegeben.
609827/ÜOpa
255681^
Unter Hinweis auf das Zeitdiagramm in Fig. 31 finden die gerade für das Byte B beschriebenen Operationen derart statt, daß das Byte B aus dem RM-Speicher während der Ladeimpulszeit für die Phase 1 gelesen, über die arithmetische Einheit an die Bestimmungssammelleitung angelegt und während der Taktimpulszeit der Phase 1 in die Position 3 des TM-Speichers geschrieben wird. Die Rückflanke des Taktimpulses schaltet das TPA-Register von seiner Position 3 in die Position 0, nachdem das Byte B in die Position 3 des TM-Speichers eingeschrieben worden ist.
Danach wird ähnlich wie bereits beschrieben die Byte-Adresse auf der Leitung 404 von binär 1 auf 2 weitergeschaltet, um das Byte C aus dem RM-Speicher zu lesen und in die Position 0 des TM-Speichers einzuschreiben. Danach wird die Byte-Adresse auf der Leitung 404 auf 3 und das TPA-Register auf die Position 1 weitergeschaltet, sowie das Byte D des Wortes aus dem RM-Speicher gelesen und in die Position 1 des TM-Speichers eingeschrieben. Die Rückflanke des Taktimpulses 401 schaltet jetzt das TPA-Register vom Zählwert 1 auf den Zählwert
Fig. 27 zeigt den Zustand des RM- und TM-Speichers mit Bezug auf die gerade beschriebenen Operationen. Es ergibt sich, daß die Bytes A, B, C, D in den Speicherstellen 0 bis 3 des RM-Speichers in die Speicher-
609827/ÜüGG
255661f-
ZuO bis 3 des TM-Speichers in der Byte-Reihen folge C, D, A7 B für die Positionen 0, 1, 2, 3 eingegeben worden sind.
Danach wird das TPA-Register um 1 erhöht und von seiner Position 2 auf die Position 3 gebracht. Dies geschieht durch das ODER-Gatter 405 und das UND-Gatter 40ό. Der AROM-Speicher 407 der arithmetischen Einheit bringt die Ader zu diesem Zeitpunkt auf H. Die Ader führt zu einem Eingang des UND-Gatters 406. Gleichzeitig wird die Ader 408 durch den Decodier-Logikabschnitt des Verarbeiters auf H gebracht. Wenn beide Ein-, gänge des UND-Gatters 406 auf H sind, schaltet das Gatter ein und führt ein Signal über das ODER-Gatter 405, das das TPA-Register von der Position 2 auf die Position 3 bringt. Das vom AROM-Speicher 407 auf die Ader 416 gegebene Signal aktiviert außerdem den Eingang des Wählers 402, so daß dieser nachfolgend auf das Ausgangssignal der Schiebeschaltung 501 statt auf das Ausgangssignal der ALU-Einheit anspricht.
Die vorstehende Beschreibung stellt den ersten Schrift der raJ-Jonen ctorf die der Verorbeiter zur Durchführung einer Schlebeoperafjon ausführen muß. Der zweite und iefzfe Schritt wird nachfolgend unter Bezugnahme auf Fig. 5 beschriebers, die die Schaltungseinzelheiten der
Schiebesclialtung 501 darstellt. Die Schiebeschaltung umfaßt im wesentlichen vier Datenwähler oder Multiplexer 502-, die Quellensammelleitungsadern 203 und 204, die die Eingänge der Multiplexer mit den Ausgängen des RM- und TM-Speichers verbinden, die Adern 505, die die Ausgänge der Multiplexer mit der Bestirnmungssammelleitung 205 verbinden, und die Leitung 239, die den Ausgang des SC-Registers 218 mit den Steueranschlüssen 503- der Multiplexer 502- verbindet. Jeder Multiplexer besitzt vier Eingangsanschlüsse, die mit 0 bis 3 bezeichnet sind und mit allen vier Ausgängen des RM-Speichers sowie nur den drei am weitesten rechts liegenden Ausgängen des TM-Speichers verbunden sind. Diese Verbindungen geben der Schiebeschaltung die Möglichkeit, die sieben Informationsbits, die gleichzeitig von den Speichern RM und TM ankommen, um entweder 0, 1, 2 oder 3 Bitpositionen zu verschieben.
Die im SC-Register 218 gespeicherte Information bestimmt die Anzahl von Bifpositionen, um die die ankommende Information zu verschieben ist. Wenn beispielsweise binär 00 im SC-Register gespeichert ist, wird der Eingang 0 jedes Multiplexers über die Leitung 239 aktiviert, und nur die vier Bits, die vom RM-Speicher an die Schiebescha!tung""angelegt sind, werden über die Multiplexer geführt und über deren Ausgangsleitungen an die Sammelleitung 205 angelegt. Wenn binär 01 im SC-
809827/0886
hl-
Register ist, wird der Eingang 1 jedes Multiplexers aktiviert. Dann werden die drei am weitesten links stehenden Bits des RM-Speichers zusammen mit dem Bit O des TM-Speichers über die Multiplexer geführt und über deren Ausgangsleitungen 505- an die Bestimmungssarnmelleitung 205 angelegt. Wenn binär 10 im SORegister ist, wird der Eingang 2 jedes Multiplexers aktiviert. Es werden dann die beiden am weitesten links stehenden Bits des RM-Speichers und die beiden am weitesten rechts stehenden Bits des TM-Speichers über die Schiebeschaltung auf die Besf jiümurg ssatnmeileitung übertragen. Wenn binär 1] ?m SC-Register steht, wird das am weitesten links stehende Sit des RM-Speichers zusammen mit den drei am weitesten rechts stehenden Bits des TM-Speichers an den Anschluß 3 der Multiplexer und dann an die Sammelleitung 205 gegeben,
in Verbindung mit Fig. 4 ist bereits festgestellt werden, dcxß für eine angegebene Verschiebung um vier Bltposifionen das SC-Register die Sinärzlffern ÖO enthält^ die die beiden niedrigststeiiigen Ziffern für binar 4 (01 00) darstellen. Die Ziffern 00 im SC-Register aktivieren den Eingang ö der MuItipfexer, und die Schiebeschaliung 5Ö1 gibt an die Sammelleitung 205 nur die vier Bits jedes vom RM-Speicher ankommenden Bytes»
2 5 5 B 6 1
In Verbindung mit Fig. 4 und Fig. 27 ist beschrieben worden, wie die Bytes A, B, C, D in den Positionen O7 1, 2, 3 des RM-Speichers in die Positionen 0, 1, 2, 3 des TM-Speichers in der Bytefolge C, D7 A7 B eingeschrieben werden. Damit ist nur der erste Schritt der für eine 4—Bit-Verschiebung erforderlichen Operation beendet. Der zv/eite Schritt dieser Operation wird nachfolgend im einzelnen erläutert.
Das TPA-Register befindet sich7 wie bereits erwähnt, im Augenblick in seiner Position 3. Danach werden der PA-Taktgeber 225A und das TPA-Register 217 jeweils um einen Schritt auf die bereits beschriebene V/eise weitergeschaltet, und während jeder Unterphase des Zyklus wird ein Byte aus dem RM-Speicher gelesen und in den TM-Speicher geschrieben.
Das Byte A im RM-Speicher wird zuerst ausgelesen und in die Position 3 des TM-Speichers geschrieben. Dann wird das Byte B gelesen und in die Position 0 des TM-Speichers eingegeben. Anschließend werden die Bytes C und D gelesen und in· die Positionen 1 und 2 des TM-Speichers geschrieben. Dann ist die 4-Bit-Schiebeoperation beendet, da die Bytes A, B, C, D des aus dem RM-Speicher zu schiebenden Wortes jetzt im JTM-Speicher in der Bytefolqe B, C, D, A gespeichert sind. Der Inhalt der beiden Speicher zu diesem Zeitpunkt ist in Fig. 28 dargestellt. Der Inhalt des 609827/08GG
25566If-
TM-Speichers gemäß Fig. 28 stellt eine 4-Bit-Verschiebung des Inhaltes des RM-Speichers gemäß Fig. 27 dar.
Anschließend wird eine 6-Bit-Verschiebung beschrieben, die in der binären Darstellung 0110 lautet. Die beiden am weitesten links stehenden Bits 01 werden in komplementärer Form 10 in das TPA-Register 217 eingegeben. Die beiden am weitesten rechts stehenden Bits 10 werden in das SC-Register 218 übertragen. Die Operationen für diese 6-Bit-Verschiebung sind identisch mit den bereits für eine 4-ßif-Verschiebung feeschriekemFä Operationen bis zu und einschließlich der Übertragung der Bytes aus dem RM-Spelcher In d\e Positionen 0, 1,2, 3 des TM-Speichers in der Reihenfolge C, Of A7 B entsprechend der Darstellung in Fig. 27*
Beim zweiten Schritt dieser Operation werden die Bits 10 Im SC-Register über die Leitung 239 weitergeführt und aktivieren den Eingang 2 jedes Multiplexers SÜ2-* Dadurch spricht die Sendeschaltung 501 während jeder Leseoperation auf die beiden am weitesten links stehenden Bits des SM-Speichers und die beiden am weitesten rechts stehenden Bits des TM-Speichers an. Dies bewirkt eine Verschiebung um zwei Bitposi- iiomn. Während der ersten Phase der Leseoperatjon aus beiden Speichern, die jetzt entsprechend der Darstellung in Fig. 27 angeordnet sind, werden i09S2?/086&
2 5 5 B B 1 - 4-5-
die beiden am weitesten links stehenden Bits des Byte A aus dem RM-Speicher und die beiden am weitesten rechts stehenden Bits des Byte B aus dem TM-Speicher empfangen und über die Schiebeschaltung übertragen. Die Steuerinformation für den RM-Speicher beim ersten Byte ist 00 und kommt vom Taktgeber 225A über die Leitung 404. Das TPA-Register ist im Augenblick auf dem Zählwert 3 aus bereits in Verbindung mit der 4-Bit-Schiebeoperation beschriebenen Gründen. Die Schiebeschaltung erhält also jetzt die beiden am weitesten links stehenden Bits des Byte A (die in Fig. 29 mit A2 und A3 bezeichnet sind) und die beiden am weitesten rechts stehenden Bits (BO und BI) w des Byte B aus dem TM-Speicher und gibt sie zu ihrem Ausgang. Die vier Bits werden jetzt in die Position 3 des TM-Speichers in der in Fig. 29 gezeigten Reihenfolge eingeschrieben. Die Adressen information für die Speicher RM und TM wird um eine Position weitergeschaltet und die Schiebeschaltüng erhält die beiden am weitesten links stehenden Bits (B.2 und B3) des nächsten Byte vom RM-Speicher und die beiden am weitesten rechts stehenden Bits (CO und Cl) vom TM-Speicher und gibt sie an ihren Ausgang. Die Bits werden in die Position 0 des TM-Speichers eingeschrieben.
Die Adresseninformation für die Speicher RM und TM wird wiederum um eine Position weitergeschaltet und die Schiebeschaltung erhält die beiden 603827/0 ύQQ
255661?
am weitesten links stehenden Bits des Byte C vom RM-Speicher und die beiden am weitesten rechts stehenden Bits des Byte D vom TM-Speicher. Die Bits v/erden in die Position 1 des TM-Speichers eingeschrieben. Die Adressierschaltung«« für die Speicher werden erneut um eine Position we i fergeschaltet, und die SchiebesclKäitufsg erhäJt die beiden am weitesten iinks stehenden Bits des Byte D vom RM-Speicher und die beiden csm weitesten rechts stehenden Bits des Byte A vom TM-Speicher. Die Bits werden entsprechend der Darstellung in Fig. 9 in die Position 2 des TM-Speichers geschrieben« Fig, 29 zeigt das 4-Byte-Worr desRM-Speichere um sechs Bitposif ionen verschoben.
Die vorstehende Beschreibung hat die Operationen der Schiebeschaltung for Schiefeegrößen 4 bzw, 6 erläutert. Mit Hilfe ähnlicher Operationen können andere Schi ebefce träge durch ähnliche Operationen mit zwei Schritten durchgeführt werden. Beim ersten Schritt jeder se-icHen Schlebeoperotion wird der RM-Speicher Byte für Eyte ausgelesen und das Ergebnis tn den TM-Speicher in einer Reihenfolge gegeben,, die durch das Komplement der beiden am weitesten iinks stehenden Bits der Schiebeinformafjon bestimmt wird,, die \m TPA-Reglster gespeichert ist. Belßi zweiten Operationsschritt werden beide Speicher gleichzeitig Byte für
Byte gelesen und das Ergebnis an die Schiebeschaltung gegeben. Diese verschiebt die empfangenen Informationen um entweder null, eins, zwei oder drei Bitpositionen und schreibt dann die verschobene Information in den TM-Speicher in einer Reihenfolge, die das Wort im RM-Speicher, verschoben um die erforderliche Anzahl von Bitpositionen, darstellt.
Das SAR-Register 215 in Fig. 3 ist in Fig. 6 genauer gezeigt. Es handelt sich um ein-16-Bit-Register, das Adresseninformationen speichert, die zum Speichersystem 102 oder zum Eingabe-Ausgabe-System zu übertragen sind. Das SAR-Register enthält vier 4—Bit—Schieberegister, beispielsweise integrierte Schaltungen vom Typ SN 7496. Die Register sind unter Bildung eines Speichers vom Typ 4x4 angeordnet, der in Fig. 6 als Bauteil 601 bezeichnet ist. Die Schieberegister nehmen die Information von der Bestimmungssammelleitung 205 Byte für Byte mit jeweils vier Bits gleichzeitig auf. Die ankommende Information wird nachfolgend parallel als 16—Bit— Wort auf die Adressensammelleitung Π 1 gegeben. Das UND-Gatter 602
609827/0 8-G 6
2 5 5 6 6 1
steuert die Einführung von Informationen von der Sammelleitung 201 in das Register 601 . Das Signal EWSAR auf der Leitung 604 wird auf 1 gebracht, um anzugeben,, daß das SAR-Register der Bestimmungsort für die durch die arithmetische Einheit 202 auf die Sammelleitung 205 übertragene information ist. Die T-aktleituog 603 führt die in Fig. 31 angegebenem Taktsignale und ermöglicht die Eingabe der sequentiell an die ßestimmungssammeileitung 205 angelegten Bytes in das Register 6Ql . Das Signa] EWSAR wird durch die DeQodierlogikelemente 226 in FIg, 2 geliefert. Das Taktsignal wird vom Zeitsteuerungsgenerafor 225 zugeführt* Dies hi in Fig, 32 für das Register SARsov»4e für ai.e anderen Schaftungen dargestellt,
Die RI - und R2-Regjster 209 in Fig« 3 sind in Fig* 7 genauer gezeigt* Sie nehmen die niedrigststeiligen acht Bits der vom Verarbeiter über die DatensömmeUeifung \^Q ankommenden Befehlswörter mti und speichern sie ^eii— weiilg» Die am weitesten links stehenden acht Bits werden durch weitere Bauteile des Verarbeiters aufgenommen und gespeichert, zu denen der MAC-ZähJer 220 gehört, der die sieben Bits des Operötionscode OP speichert»
Die Rl - und R2-Register enthalten zwei 4-Bir-Register, die zusammen ah ßauteil 702 in Fig, 7 bezeichnet sind. Die acht taformafionsbits, die die
009827/0 8 66
2 5 5 6 r? I ψ
Datensammeileitung 110 über den Weg 210 den Registern Rl und R2 zuführt, werden unter Steuerung eines Signals LDOP auf der Leitung 703 in die Register eingeführt. Dieses Signal kommt vom Zeitsteuerungsgeneraror 225 in Fig. 2 und wird erzeugt, nachdem das Speichersystem 102 mit einem Speichervoliständigsignai auf einer besiimmten Ader der Speichersteuersammelleitung 112 geantwortet hat.
Die Ausgänge der Rl - und R2-Register sind außerdem über Wege 253 und mit der Adressensteuerschaltung des RM-Speichers 208 verbunden. Diese Verbindungen geben die Möglichkeit, daß der Inhalt der Rl- und R2-Register direkt für Adressierzwecke zum RM-Speicher übertragen wird.
Der Multiplexer 701 wandelt die acht Bits in den Rl- und R2-Regisfem in zwei 4-Bit-Bytes um. Dies erfolgt unter Steuerung oes Signals PHO in Fig.Si / das das niedrigststellige Bit der vom Zeitsteuerungsgenerator erzeugten codierten Phaseninformation ist. Diese Information kommt über die Leitung 704 an. Wenn das PHO-Signal auf H ist, wird der Inhalt des Rl-Registers über den Multiplexer zu den Queilensammelleitungen übertragen. Wenn das PHO-Signal auf L ist, so wird der Inhalt des R2-Registers durch den Multiplexer an die Quellensammelleitungen angelegt. Das Bauteil 701 kann eine inte-
609827/0666
2556BiTJf- -So-
grierte Schaltung vom Typ SN 74157 sein. Die Register 702 können zwei integrierte Schaltungen SN 7495 sein. Das L-Register 216 in Fig. 3 ist in Fig. 8 genauer dargestellt. Dieses Register hat die Funktion,, die Adressierinformation für den CM- und RM-Speicher zu liefern- Das L-Register enthalt ein Register 8Ql f einen Multiplexer 802 und eine Schreiblogik 803. Das Register 801 Ist ein 6-BIt-Register und kann unter Steuerung des Multiplexers 802 entweder von der Bestimmungssammelleitung 205 aus über den Weg 240 oder vom Feld EMiT der Decodierlogifc 226 über den ¥</eg 258 geladen werden. Wenn das Register 801 vom Feld EMIT aus geladen wirdf so werden alle sechs Bits des Registers aufgefüllt.Wenn Jedoch aas Register während des Bytes 0 von der Bestimmungssammelleitung aus geladen wird, werden nur die niedrigste!ί igen vier Bits eingegeben und die beiden höchststellJgen Wn$f die sich bereits im Register befinden, werden nicht gestört. Das L-fiegister freist zwei integrierte Schaltungen, beispielsweise vom Typ SN 7475 und SN 74298 auf, Nur eine Hälfte der Schaltung SN 7475 wird for die beiden hochstsieJiigeri Bits benutzt und nur die beiden tiöehstsf-eiiigen Bits der EMiT-Felder stellen Dateneingangssignale für die Schaltung SN 7475 dar, Die vier niedrigsteI!igen Bits v/erden in der Schaltung SN 74298 gespeichert, die den Multiplexer 802 enthält* "~
255661
Wenn das ό-Bit-Feld EMIT in das Register 801 eingegeben werden soll, so erzeugt die Decodierlogik 226 in Fig. 2 das Signal LDLI und gibt es auf die Leitung 807. Dieses Signal steuert den Multiplexer 802 über den Weg 805 derart, daß er den Eingang EMIT erregt und alle sechs Bits des Feldes EMIT in das Register 801 unter Takteinfluß einführt. Das Signal LDLI trilt zu dem für den Steuerimpuls CTLPLS * im Zeitdiagramm in Fig.28 gezeigten Zeitpunkt auf.
Wenn die Information auf der Bestimmungssammelleitung 205 in die niedrigstelligen vier Bits des Registers 801 einzuschreiben ist, so erzeugt die Decodierlogik während der Phase 0 das Signal WRLl, dessen Dauer gleich der Dauer des Taktimpulses in Fig. 28 ist. Die Schreiblogikschaltung 803 steuert den Multiplexer über den Weg 805 derart, daß die Sammelleitung 240 als Dateneingang für das Register 801 ausgewählt wird. Der Ausgang des Registers führt über den Weg 256 zu den in Fig. 2 und 3 gezeigten Speichern CM und RM.
Das logische Bauteil 803 enthält die logischen Kombinationsgatter, die zum Anlegen eines Gattersignals an den Weg 804 beim Eintreffen entweder eines WRLl- oder eines LDLl-Signals erforderlich sind. Das Gattersignal
609827/0 0 ti ä
2 5566 -62-.
führt die Ausgangsinformation vom Multiplexer 802 in das Register 801 . Die Logikschaltung 803 legt außerdem das erforderliche Potential bei Empfang eines Signals LDLl oder WRLI an die Leitung 805.
Der CM-Speicher 207 in Fig. 3 ist genauer in Fig. 9 gezeigt. Es handelt sich um einen 256 χ 4-Festwertspeicher, der zweckmäßig ein Harris-Haibleiferspeicher vom Typ HPROM-I 024 sein kann. Der CM-Speicher enthält im wesentlichen ein Register 901 und Registerausgangsschaltungen 902. Die Adressierinformationen für das Register kommen über Wege 256 und 903 an. Da das Register 901 256 Adressenstellen besitzt, sind acht Bits für die Adressierinformation erforderlich, um eine bestimmte Speicherstelie anzugeben. Sechs Adressenbits kommen über den Weg 256 an und identifizieren die Anfangsadresse des ersten Bytes eines auszulesenden Wortes. Die restlichen beiden Bits - die Byte-Information - kommen über den Weg 903 an. Diese Information stellt die Phase η information dar und kommt vom Zeitsteuerungsgenerator 225. Der CM-Speicher gibt dauernd das adressierte Wort als Ausgangssignal über die Ausgangsschaltungen 902 und den Weg 250 auf die Quellensammelleitung 1 .
Der RM-Speicher 208 in Fig. 3 ist genauer in Fig. 1 0 veranschaulicht. Der
609827/0066
25566 Ί
Speicher enthält sechzehn Allzweckregister. Jedes Register besteht aus vier 4-Bit-Bytes, und alle Register zusammen bilden das Bauteil 1001 in Fig. 10. Der RM-Speicher enthält außerd&m Registereingangsschaitungen 1002, Registerausgangsschaltungen 1003, ein UND-Gatter 1004 sowie Multiplexer 1005 und 1006.
Die Bauteile 1001, 1002 und 1003 können zweckmäßig integrierte Schaltungen vom Typ SN 7489 sein, die jeweils einen 16 χ 4-Bipolarspeicher darstellen. Die vier integrierten Schaltungen sind als 64 χ 4 -Bit-Speicher organisiert. Die Adressierinformation für diese Speicheranordnung wird über Wege 1008 und 1007 geliefert. Der Weg 1008 nimmt das Ausgangssignal des Multiplexers 1005 auf, der 4:1-Multiplexer vom Typ SN74153 enthält. Der Multiplexer 1006 umfaßt einen 2:1-Multiplexer vom Typ SN 74153.
Das Register 1001 stellt einen Speicherraum für sechzehn 16-Bir-Wörter bereit, die jeweils vier 4-Bit-Bytes umfassen. Jedes Wort entspricht einem Allzweckregister. Die Wortadresseninformation wird vom Multiplexer 1005 über den Weg 1008 und die Adressierung innerhalb des Wortes, also die Byte-Information, über den Weg 1007 geliefert, der die Phasen- oder
$09827/0866
2 5566Vf
soll. Wenn die Ader SEL eine 0 führt, so wird der Eingang A erregt. Wenn die Ader eine 1 führt, so wird der Eingang B erregt.
Die Gesarntfunktion der beiden AAultiplexer besteht darin, daß sie den Feldern SI und DES eines Mikrobefehls die Möglichkeit geben^ entweder das Register L7 das Register Rl oder das Register R2 als Adressierqueiie for das Register RM zu wählen, Der Mikroprogrammierer kann aiso nicht nur den Umstand angeben, daß der Speicher RM eine Queiien- oder eine ßestimmungsscteitung sein soll, sondern er kann außerdem angeben, we Jene der drei möglichen Quellen für die Adressenififormatiort zyr Stetieruiwj des Speichers
werden soll.
Ein Wort wird in das -Register 3 001 dadurch eingeschrieben, daß die ge- " wünschten Daten von der Besiiflijniingssamffleiieitung ouf den Weg 232 gegeben, die erforderliche Adressenmiormcition ober den Multiplexer 1005 und den Weg 1008 m% das Register 3001 üheriragen und die "Schreibleitung 1013 veranlaßt wird, auf 1 zu gehen. Diese Leitung wird durch eine UND-Verknüpfung der fiM- und der Tddsigtrale im Gatter 1004 gesteuert» Das RM-Signa! wird von der Decodier?og?k 226 geliefert umJ das Taktsigmsf vom
r^ wobei es die in fig, 28 gezeigte Foran hat.
S03827/Ö86S
die Byteinformation vom Zeirsteuerungsgenerator 225 erhält. Die auf den Weg 1008 gegebene Information wird vom Multiplexer 1005 entweder über den Weg 256 vom L-Register, über den V/eg 254 vom R2-Register oder über den Weg 253 vom Rl-Register aufgenommen. Zwei Informationsbits geben an, welcher Eingang des Multiplexers 1005 zu erregen ist. Diese beiden Auswahlbits werden vom Ausgang des Multiplexers 1006 auf den Weg 1009 gegeben. Die Eingänge des Multiplexers 1005 sind numerisch bezeichnet, um den Wert des Binärsignals anzugeben, das auf den Weg 1009 gegeben werden muß, um den jeweiligen Eingang zu erregen. Wenn also eine binäre 1 auf den Weg 1009 gegeben wird, so wird der Eingang 1 erregt und die Information auf dem Weg 253 über den Multiplexer 1005 und den Weg 1008 zum Register 1001 geführt. Die Eingänge A und B des Multiplexers 1006 sind über Wege 1010 und 1011 mit der Decodierlogikschaltung 226 verbunden. Der Eingang A des Multiplexers 1006 nimmt die beiden niedrigststelligen Bits @> und 6) des Quellenfeldes 1 (Sl) des MikroSpeichers 222 für einen Befehl der in den Fig. 25 oder 26 gezeigten Art auf. Der Eingang B des Multiplexers nimmt die beiden niedrigststelÜgen Bits (12 und 13) des Bestimmungsfeldes (DES) eines Mikrobefehls der in Fig. 25 oder 26 gezeigten Art auf. Der Weg 1012 führt zum Zeitsteuerungsgenerator und die ihm zugeführten Signale bestimmen, welcher Eingang des Multiplexers 1006 aktiv sein
609827/0866
2 5566
■06-
lmmer dann, wenn nicht in das_ Register 1001 eingeschrieben wird, gibt die . Ausgangsschaltung 1003 dauernd über den Weg 201 den Inhalt des im Augenblick über den Weg 1008 adressierten Wortes an die Quellensamrne!leitung 1
Das RM-Signal kommt von der Decodierlogikschaltung 226 und ist während aller vier Phasen eines Maschinenzyklus immer dann vorhanden, wenn eine binäre 0, 1 oder 2 im Bestimmungsfeld für einen Befehl der in Fig. 25 und 26 gezeigten Art erscheint. Die zeitliche Einordnung des Taktsignals ist im Zeitdiagramm gezeigt.
Zusammengefaßt bestimmen ein Taktsignal und ein RM-Signal zum Gatter 1004 zusammen mit einem Teil der Bestimmungsfeldinformation am B-Eingang des Multiplexers 1006 diejenige Schaltung, welche zur Lieferung der Adresseninformation zum RM-Speicher bei einer Schreiboperation zu benutzen ist. Der RM-Speicher ist bei diesen Operationen der Bestimmungsort für die Informationen, die im Augenblick an die Bestimmungssammelleitung angelegt sind. Der Eingang A des Multiplexers 1006 bildet einen Teil des Feldes Sl eines Mikrobefehls, und wenn der Eingang A aktiv ist, gibt das Feld Sl an, welches Schaltungselement des Verarbeiters als Quelle zu benutzen ist, die die Adressierinformation für den RM-Speicher liefert. Der Inhalt des adres-
609827/0066
sierten PJ-A-Speichers wird dann an die Queüensammelleitung 1 gegeben. Wenn der Eingang B des Multiplexers 1006 aktiv ISt7 so gibt das Feld DES die Quelle der Adressierinformation für den RM-Speicher an.
Der TM-Speicher 206 in Fig. 2, ist genauer in Fig. Π dargestellt. Dieser Speicher enthält im wesentlichen ein Register 1101, Eingangsschaltungen 1102, Ausgangsschaltungen Π03, ein UND-Gatter 1104 und einen Multiplexer 1105. .
Der TM-Speicher stellt Sonderzweckregister für den Verarbeiter und insbesondere für den Mikroprogrammabschnitt des Verarbeiters bereit. Die Bauteile 1001, 1002 und 1003 können zweckmäßig zwei integrierte Schaltungen SN 7489 enthalten. Sie sind unter Bildung eines 32 χ 4-Speichers organisiert, der das Äquivalent von acht Registern mit je sechzehn Bits darstellt. Fünf Bits sind für die Adresse η inform a tion erforderlich. Der Weg 257 (TPHO-I) liefert die beiden niedrigststelligen Adressenbits. Diese kommen vom TPA-Register 217 an und bilden die Byte-Information. Der Ausgang des Multiplexers 1105 liefert die drei höchststelligen Bits.
Die drei vom Multiplexer gelieferten Adresseninformationsbits können
609827/üUUU
255
1Ob
-58-
wahlweise entweder über den Weg 259 oder über den Weg 260 ankommen. Die an diese Wege angelegten Signale kommen vom MikroSpeicher 222. Der Weg 259 wird auch als Weg 1503 bezeichnet und führt zu Fig. 15. Die Informationen auf dem Weg 1503 können entweder die Bits 5 bis 7 oder 9 bis 11 eines Mikrobefehls gemäß Fig. 25 oder 26 sein. Der Multiplexer 1505 in Fig. 15 gibt auf die nachfolgend im einzelnen noch zu beschreibende Weise entweder die Bits 5 bis 7 oder 9 bis 11 auf den Weg 1503. Die Information auf dem Weg 2.60 besteht aus den Bits 12 bis 14 des Bestirnmungsfeldes (DES) des Mikrobefehls gemäß Fig. 25 und 26. Der Multiplexer, der eine integrierte Schaltung vom Typ SN 74153 sein kann, wählt das Eingangssignal vom Weg 259, wenn das SEL-Eingangssignal 1110 eine 0 ist, und wählt das Eingangssigna! vom Weg 26O1, wenn das SEi-Emgangssignai eine 1 Ist. Das SEL-Signa} wird vom Zeitsteüerufigsgenefaf-of 225 geliefert und bestimmt, ob der Verarbeitet sich in der tcde-Unterphase oder der Tokf-Unterpnase eines Mikrobefehls befindet. Die Ausgangsschaltungen 1103 geben dauernd den Inhalt der durcn die Adresseninformation angegebenen Wortstelle auf den Weg 249 mit Ausnahme derjenigen Zeiten, zu denen das Schrerbsignai vom Gaffer 1104 auf dem Weg 1100 aktiv ist. Das Einschreiben eines Wortes oder eines Bytes aus einem Wort in das Register 1101 geschieht dadurch, da8 Adressenformat]onen an den Eingang 1109 <te Registers \ 10! gegeben und
808827/0Ö66
2 5 5 B ^ i
-S9-
dann ein Schreibsignal über den Weg ΠOO an die Eingangsschaltungen Π02 angelegt wird. Die in das Register 1101 einzuschreibenden Daten stehen ajf dem Weg 238 an, der von der Bestimmungssammelleitung 205 ausgeht. Das Schreibsignal auf dem Weg 1100 ist die UND-Verknüpfung des Taktsignals auf dem Weg 1107 und des Signals UD15 auf dem Weg 1108. Das Signal UD15 ist das fünfzehnte Bit des Mikrobefehls gemäß Fig. 25 und 26.
Es sei angenommen, daß bei einer gegebenen Operation der TM-Speicher für einen bestimmten Mikrobefehl sowohl die Quelle als auch die Bestimmung ist. Die Phasensignale, die die Byteadresseninformation darstellen, kommen über den Weg 257 an. Die restliche Adresseninformation wird vom Multiplexer 1105 geliefert. Während der Lade-Unterphase wird die Adresseninformation am Ausgang des Multiplexers über den Weg 259 geliefert, da der TM-Speicher während dieser Unterphase eine Queiienschaltung ist. Unter Ansprechen auf diese Adresseninformation vom Weg 259 geben die Ausgangsschajtungen 1103 den Inhalt des adressierten Wortes auf den Weg 249, der zur Quellensammelleitung 2 führt.
Die arithmetische Einheit nimmt die Signale von der Quellensammelleitung auf, verarbeitet sie und gibt dann die verarbeiteten Signale zur Bestimmungssammel-
609827/0866
255661? -6ο-
leitung 205. Dann wird angenommen, daß diese Signale in den TM-Speicher einzuschreiben sind. Bei einer Schreiboperation für den TM-Speicher wird die Adresseninformation über den Multiplexer vom Weg 260 während der Takt-Unterphase geliefert. Das Schreibsignal auf dem Weg Π06 wird zum Zeitpunkt des Taktimpulses für die Unterphase erzeugt, wie im Zeitdiagramm angegeben.
Das Datenregister 212 in Fig. 3 ist in Fig. 12 genauer gezeigt. Es enthält im wesentlichen ein Schieberegister 1201, einen Eingangsempfänger 1202, Ausgangstreiber 1203 und einen Multiplexer 1204.
Das Datenregister hat vier Funktionen. Es gibt Informationen oder Daten auf die Datensammelleitung 110 bzw. empfängt von dort Informationen oder Daten. Außerdem gibt es Informationen über den Weg 231 zu den Quellensammelleitungen 1 und 2. Weiterhin empfängt es Informationen über den Weg 232 von der Bestimmungssammelleitung. Daten werden an die Datensammelleitung 110 gegeben bzw« von ihr aufgenommen, in .16—Bit—Parallel— form. Sie werden auf die Quellensammelleitungen ausgegeben und von der Bssftmmun^äatnmeiisiHing mjfgmuxiaaenf im 4-Bif-Byfeformai* informationen oder Daters werden in das Schieberegister 1201 von der Sammelleitung 110
600827/0006
.255661? -61 -
immer dann eingegeben, wenn die Anlage ein Speicherlese- oder Eingabe-Ausgabe-Lesekommando ausführt. Dieser Umstand wird durch ein Bestätigungssignal auf der RDFF-Ader 1205 angegeben, die zu den Ausgangstreibern 1203 und zum Betriebsweise-Eingang (MODE) des Schieberegisters 12Cl führt. Dieses Signal bereitet das Schieberegister auf die Aufnahme von Informationen von der Datensammelleitung vor. Das Signal RDFF ist die logische ODER-Verknüpfung des Umstandes, daß ein Lesedaten-Flipflop, ein Lesebefehls-Flipflop oder ein Lese-Eingangs-Ausgangs-Flipflop der Steuerflipflops 220 eingestellt ist. Diese drei Flipflops werden unter Steuerung des Mikroprogramms über das Steuerfeld des Mikrobefehls eingestellt. Der Bestätigungszustand des Signals RDFF auf dem Weg 1205 schaltet die Ausgangstreiber 1203 ab. Das Signal RDFF versetzt das Schieberegister in die Lage, Paralleldaten von den Eingangsempfängern 1202 aufzunehmen, wenn das Signal auf der Ader 1206 auf H und dann nachfolgend auf L geht. Dadurch wird das Schieberegister mit Paralleldaten aus den Eingangsempfängern 1202 geladen. Das Signal auf der Ader 1206 ist mit LDATA bezeichnet. Dieses Signal wird erzeugt, wenn das Speichersystem 102 bei einer Speicherleseoperation ein Spei eher-VoII-ständig-Signal über den Weg 112 zurückgibt. Bei einer Ein-Ausgabeleseoperation erzeugt ein Bitmuster im Steuerfeld des Mikrobefehls das "Signal LDATA. Dieses Signal verbindet dann die Datensammelleitung 210 über die Eingangs-
609827/OüÜÜ
255661?
empfänger 1202 mit· den Paralleidateneingängen des Schieberegisters 1201 . Das Schieberegister ist aus vier integrierten Schaltungen SN 7495 zusammengesetzt, die als 4 χ 4-Speicher organisiert sind. Die Signale auf den Wegen 1207, 1206, 1209 und 1205 führen zu den entsprechenden Eingängen aller vier integrierten Schaltungen vom Typ 41 CF, die das Schieberegister bilden.
Der Inhalt des Schieberegisters wird kontinuierlich immer dann über die Ausgangstreiber 1203 auf die Datensammelleitung 210 gegeben, wenn das Signal RDFF auf dem Weg 1205 kein Bestätigungssignal ist. Es ist dann nicht erforderlich, daß der Verarbeiter irgendwelche zusätzlichen Signale erzeugt, um eine Speicherschreib- oder Ein-Ausgabe-Schreiboperation mit Bezug auf die Datensammelleitung durchzuführen.
Das Schieberegister nimmt Daten von der Bestimmungssammelleitung 205 auf und gibt sie unter Steuerung der über den Weg 1207 ankommenden Taktimpulse auf die Quellensammelleitungen. Die Taktimpulse sind in Fig. 28 gezeigt. Es ist ein solcher Taktimpuls für jede Phase des Maschinenzykluses vorhanden. Jedes Eintreffen eines Taktimpulses bewirkt, daß Informationen im Schieberegister 1201 Byte für Byte verschoben werden. Hinsichtlich der Bestimmungssamme!leitung ist, wenn das Datenregister nicht die durch den
6 0 9 8 2 7 / ü ü tiü
255661"?
Mikrobefehl angegebene Bestimmung ist, das Signal auf dem Weg 1208 auf L. Dadurch aktiviert der Multiplexer 1204 seinen Eingang A, der mit dem Ausgang des Schieberegisters über den Weg 231 verbunden ist. Dies führt dazu, daß die Datenbytes im Schieberegister beim Eintreffen jedes Takfimpulses Byte für Byte umlaufen.
Wenn das Schieberegister entsprechend der Angabe durch den Mikrobefehl der Bestimmungsort ist, so ist das Signal auf der Ader 1208 auf H7 der Multiplexer aktiviert einen Eingang B und die Signale auf der Bestimmungssammelleitung werden zum Multiplexer sowie über den Weg 1209 zum Eingang des Schieberegisters geführt. Das Taktsignal auf dem Weg 1207 ist während jeder Phase vorhanden und das Eintreffen dieses Signals für eine Phase läßt die Byte-Information von der Bestimmungssammelleitung in das Schieberegister eintreten.
Über den Weg 231 werden Daten an die jeweilige Quellensammelleitung gegeben, wenn das Datenregister durch den Mikrobefehl als Quelle bezeichnet wird. Diese Daten stehen immer zur Verfügung, da die Schieberegisterinformation dauernd umläuft und während jeder Phase eines Maschinenzykius über den Weg 231 an seinen Ausgang geliefert wird.
609Ö27/0866
25566 1
Die Eingangssmpfänger sind integrierte Schaltungen SN 7404. Die Ausgangstreiber bestehen aus vier integrierten Schaltungen SN 7426. Der Multiplexer ist eine integrierte Schaltung SN 74 157.
Die Register SC und TPA,. die in Fig. 2 als Bauteile 218 bzw. 217 dargestellt sind, werden genauer in Fig. 13 gezeigt. Das Register SC hat die Aufgabe, zwei der vier Bits der bei Schiebe- und Rotieroperationen ankommenden Information zu speichern, um die Anzahl von Bitpositionen anzugeben, um die die Schiebeschaltung 501 in Fig. 5 die an ihre Eingänge angelegte Binärinformation verschieben soll. Da das Register SC zwei Bits speichert, kann es eine Verschiebung um 0, 1, 2 oder 3 Bits angeben.
Das Register SC ist eine 2-Bit-Speicherschaltung, die aus einer Hälfte einer integrierten Schaltung SN 7475 besteht. Das Eingangssignal des Registers SC umfaßt die beiden niedrigststelligen Bits der 4-Bit-Schiebeinformation auf der Bestimmungssammelleitung 205. Das Ausgangssignal des Registers SC geht über den Weg 239 zurück zur arithmetischen Einheit 202, um die Schiebeschaltung 501 zu veranlassen, die erforderliche Bitverschiebung durchzuführen.
609827/0866
255661^
Wenn das Register SC Informationen von der BestimmungssammeIleitung aufnehmen soll, ist das Signal auf dem Weg 1301 eine 1 . Das Signal auf dem Weg 1303 isr 1 während des Taktsignals der in Fig. 28 gezeigten Phase 0. Das UND-Gatter 1302 schaltet ein, wenn beide, an seine Eingänge angelegten Signale 1 sind. Dann werden die beiden niedrigststelligen Bits der Schiebeinformation auf der Bestimmungssammelleitung über den Weg 236 zur nachfolgenden Verwendung durch die arithmetische Einheit in die Speicherschaltung 1301 geführt.
Das TPA-Register 217 enthält einen 2-Bit-Zähler 1305 und Gatter 1306 und 1311. Der Zähler 1305 kann eine integrierreSchalrung SN 74161 sein. Das TPA-Register hat die Aufgabe, die durch den TM-Speicher benötigte Phasenoder Byteinformation zu erzeugen. Der Zähler 1305 wird jedesmal dann weitergeschaltet, wenn das Taktsignal auf dem Weg 1307 eine negativ gerichtete Flanke besitzt. Dieses Signal wird über das Gatter 1306 und den Weg 402 dem Zähler 1305 zugeführt. Der Zähler spricht auf das Taktsignal nur an, wenn das Signal LDCNT* auf H ist. Der Zähler wird auf 0 zurückgestellt, wenn ein Signal L auf-die zum Eingang RS des Zählers führende Leitung 1310 gegeben wird. Das Rückstellsignal auf der Leitung 1310 erzeugt die Decodierlogik 226 in Fig. 2 aufgrund einer information im Steuerfeld eines
609827/0866
Mikrobefehls.
Der Zähler 1305 wird außerdem über die Gatter 130ό und 1311 immer dann weitergeschaltet, wenn ein Signal gleichzeitig an beide Adern 1303 und 1309 angelegt wird. Diese Weiterschaltmöglichkeit ist für eine Schiebeoperation von 0 bis 3 Bit vorgesehen. Das Signal auf dem Weg 1309 wird durch die arithmetische Einheit und speziell durch das AROM-Bauteil 1602 innerhalb der arithmetischen Einheit erzeugt. Das Signal tritt auf dem Weg 1308 zum Vortakt-Zeitpunkt auf, der im Zeitdiagra-nm dargestellt ist. Das Register TPA kann parallel mit dem Register SC geladen werden. Dies geschieht über den Weg 403, der vom Ausgang des Gatters 1302 im Register SC über die Steuerlogik 1306 zum Eingang des Zählers 1305 führt. Zu diesem Zeitpunkt wird das Komplement der beiden höchststell igen Bits auf der Sammelleitung 205 über den Weg 237 in das Register TPA gegeben.
Fig. 14 zeigt weitere Einzelheiten der Queliensammelleitung 1 . Gemäß Fig. 2 und 3 ist die Quellensammelleitung 1 mit dem Ausgang des Multiplexers 203-M verbunden, dessen Eingänge an die verschiedenen Schaltungen angeschlossen sind, die Informationen über den Multiplexer und die Quellensammelleitung 1 an die arithmetische Einheit geben können.
609827/0860
255661?
In Fig. 14 sind die Eingänge des Multiplexers 203-M auf der linken Seite gezeigt. Sie kommen vom RM-Speicher 208, vom Daienregister 212, von den Rl- und R2-Registern 209 und vom CM-Speicher 207. Der Ausgang des Multiplexers ist auf der rechten Seite dargestellt. Er ist mit der Quellensammelleitung 1 verbunden, die zur arithmetischen Einheit 202 führt. Das UND-Gatter 1402 und die an die Leitungen 1403 und 1404 angelegten Signale steuern den Multiplexer 203-M und bestimmen, welche der mit seinen Eingängen verbundenen Quellenschaltungen bei einer Rechneroperation ihre Ausgangsinfbrmafionen über den Multiplexer zur Sammelleitung 203 führen kann. Die Leitung 1404 nimmt die Bits 5 bis 8 des Mikrobefehlsfeldes Sl auf. Gemäß Fig. 25 geben diese Bits an, welche mit dem Eingang des Multiplexers verbundene Schaltung die Quellenschaltung ist, die ihre Information an die Sammelleitung 203 geben soll. Die vier auf die Leitung 1404 gegebenen Bits stellen die Adresseninformation dar und legen fest, welcher Eingang des Multiplexers aktiv sein soll.
Die Eingänge des Multiplexers von den Rl- und R2-Registern umfassen die Wege 234 und 235, die an einem mit .15 bezeichneten Eingangsanschluß enden. Diese numerische Bezeichnung bedeutet, daß der Eingang immer dann aktiviert wird, wenn die Binäradresse 15 über den Weg 1404 zugeführt
609827/08G6
2 5 5 6 6 1
wird. Entsprechend Fig. 3 werden die beiden in den Registern Rl und R2 gespeichc-iien Bytes jeweils zusammen und byteseriell an die QuellensammeIleitungen gegeben. Unter Bezugnahme auf Fig. 7 und insbesondere die zum Steuereingang des Multiplexers 701 führende Leitung 704 sei erläutert, daß das Ausgangssignal des Registers Rl während der Phase 0 über den Multiplexer auf die Wege 234 und 235 gegeben wird. Aus Fig. 28 er- , gibt sich, daß das Signal PHO zu diesem Zeitpunkt nicht auf 1 ist, so daß der obere Eingang des Multiplexers aktiv.ist. Während der Phase 1 geht das PHO-Signal entsprechend der Darstellung in Fig. 28 auf! und der untere Eingang des Multiplexers 701 wird aktiviert, so daß das Ausgangssignal des Registers Ki über den Multiplexer auf die Leitungen 234 vnd 235 gegebers wird.
Entsprechend Fig. 14 nimmt der Anschluß 15 des Multiplexers 203-M den Inhalt des Registers Rl während der Phase 0 und den Inhalt des Registers R2 wöhrend der Phase 2 auf. Für die restlichen beiden Phasen eines Zyklus^ nämlich die Bytes 3 undA, ist es erforderlich, daß der Ausgang des Multiplexers 203-M eine Q führt * Dies wsrd durch das zwn UND-Gatter 1402 gehende Signal PHl erreiehr. Entsprechend Fig* 28 ist das Signai PHl während der Phasen 3 und 4 cwf H, Dadurch wird des UND-Gaffer 1402 eirsge-
:; 255661$
schaltet und legt über die Leitung 1401 ein Sperrpotential an den Multiplexer. Dadurch wird der Multiplexer 203-λΑ veranlaßt, über seinen Ausgang für die Zeit der Bytes 3 und 4 O-Werte auf die Sammelleitung 203 zu geben. Das Gatter 1402 spricht nur auf eine binäre 15 (HU) an, da nur dann alle Eingänge UD5-8 auf H sind.
Das zum UND-Gatter 1402 laufende Signal PHl ist als Sperrsignal oder Signal zur Erzeugung von O-Werten am Ausgang des Multiplexers.203-M nur dann wirksam, wenn eine binäre 15 auf den Weg 1404 gegeben wird, um die Zahl 15'am Eingang des Multiplexers auszuwählen. Wenn irgendein anderer Eingang des Multiplexers aktiviert ist, steht keine binäre 15 auf der Leitung 14O4. Folglich kann das UND-Gatter 1402 nicht eingeschaltet werden, obwohl das Signal PHl während der Phasen 3 und 4 aller Maschinenzyklen auf H geht. Demgemäß werden die vier Bytes, die durch alle anderen Quellenschaltungen an den Eingang des Mu I tip lexers angelegt sind, über den Multiplexer auf die Sammelleitung 203 weitergeführt, wenn der entsprechende Eingang aktiviert wird.
Die Quellensammelleitung 2 ist in den Fig. 2 und 3 als Element 204 gezeigt und genauer in Fig. 15 dargestellt. Die Quellerisammelleitung enthält einen
609827/üüCü
255661?
Sammelieirungs-Muitiplexer 204-M zusammen mit einem Adressensteuer-Multiplexer 1505 und einem Gatter 1502. Gemäß Fig. 2 und 3 kann der Multiplexer 204-M Daten oder Informationen vom TM-Speicher 206, vom Datenregister 212 sowie von den Rl- und R2-Registem 209 aufnehmen. Die Ausgangssignale des Multiplexer 204-M werden über die Adern der QuellensammeUeitung 2 zur arithmetischen Einheit 202 geführt. Der λΑυΙίΐρΙβχεΓ 1505 bestimmt, ob die Adresseninformation, die den Multiplexer 204-M steuert, über den Weg 1508 oder den Weg 1507 ankommt. Die Signale auf dem Weg 1506 bestimmen, v/elcher Eingang des Multiplexers 1505 aktiv sein soll.
Entsprechend Fig. 25 und 26 werden die Leitung 1507 und der Eingang B des Multiplexers bei einem arithmetischen Befehl aktiviert. Dann wird der inhalt des Feldes F2 (UD9-11) als Adresseninformation vom Multiplexer 1505 über die Leitung 1503 zum Eingang des Multiplexers 204-M übertragen* ßei einem ßewegungsbefeW -ge^äß Rg* 26 wird der Eingang A erregt und die Bits UD5-7 übertragen die Adresseninfo-rmation über den Multiplexer 1505 zum Multiplexer 204-M.
Die Leitung 1503 führt außerdem zu Fig. 11 vnd lr,r dort mii dem Eingang A
608827/0866
2 5 5 6 B 1
des Muliipltixers 1105 verbunden. Dadurch kann der Multiplexer 1505 mit seinen zugeordneten Schaltungen die Adressierung des TM-Speichers immer dann steuern/ wenn dieser Speicher eine Quellenschaltung für die Quellensammelieitung 2 sein soll.
Die Leitung 1504 führt das Signal der Phase 0 und ist während der Bytes 1,2 und 3 auf H. Dieses Signal H schaltet zusammen mit einer 7 auf der Leitung 1503 dss Gatter 1502 ein und sperrt den Sammelleitungs-Multiplexer, sodaß über dessen Ausgangsleitung 204 v/ährend der Phasen I, 2 und 3 nur 0-Werte zur arithmetischen Einheit gegeben werden. Diese Möglichkeit wird bei den Mikrobefehlen gemäß Fig. 25 und 26 immer dann ausgenutzt, wenn die Rl-und R2-Register 209 die Quellenschaltungen sind. Diese sind mit dem Eingang 7 des Multiplexers 204-M verbunden. Wenn das Register 209 eine Quellenschaitung ist, wird nur der Inhalt des Registers R2 benutzt und der Inhalt des Registers Rl nicht beachtet. Während der Phase 0 wird der Inhalt des Registers R2 zum Eingang 7 des Multiplexers gegeben, der zu diesem Zeitpunkt durch eine binäre 7 auf der Leitung 1508 und ein Signal H auf der Leitung 1503 aktiviert ist. Demgemäß wird der Inhalt des Registers R2 über die Sammelleitung 204 zur arithmetischen Einheit übertragen.
609827/0866
25566 -72 -
Die Lei rung 1504 ist während der Phase 0 auf L. Die Leitung geht während der restlichen Phasen auf H und schaltet das Gatter 1502 ein,, da weiterhin eine binäre 7 an der Leitung 1503 anliegt. Dadurch wird der Multiplexer 204-M über die Leitung 1501 gesperrt, so daß der Multiplexer während der Phasen 1,2 und 3 nur O-Werte erzeugt.
Die arithmetische Einheit (AMU) 202 in Fig. 2 ist genauer in Fig. 16 dargestellt. Die arithmetische Einheit ist das arithmetische und logische Herz des Verarbeiters. Alle Daten und Informationen, die zwischen Bauteilen des Verarbeiters übertragen werden, müssen über die arithmetische Einheit laufen. Die Einheit enthält ein A-Register 1603 und ein B-Register 1604, die bei arithmetischen Mikrobefehlen Informationen von den Sammelleitungen 204 bzw. 203 aufnehmen. Der Inhalt der 1-Quellensammelleitung 204 wird über den Multiplexer 1617 zum Α-Register gegeben. Der Inhalt der 2-Quellensammelieitung 203 wird direkt zum B-Register 1604 gegeben. Dieses Laden der Register A und B aus den Quellensammelleitungen geschieht während der im Zeitdiagramm angegebenen Lade-Impulszeit· Das tatsächliche Laden findet bei der negativen Flanke des Impulses statt.
Während eines Bewegungs-Mikrobefehls wird die Information auf entweder
609 8 27/00G6
255661$
der Quellensammelleitung 1 oder der Quellensammelleitung 2 in das A-Register am Ende des Ladeimpulses gegeben. Das Register B wird bei Bewegungs-Mikrobefehlen nicht benutzt. Die Information auf der Quellensammelleitung 1 wird dann in das Α-Register übertragen, wenn der Eingang
0 des Multiplexers 1617 aktiviert ist. Die Information auf der Quellensammelleitung 2 wird dann über den Multiplexer in das Register A geführt, wenn der Eingang 1 aktiviert ist. Die Eingangs-AuswahIleitung 1622 wird durch das Gatter 1616 gesteuert, da; eine UND-Verknüpfung des Umstandes, daß ein Bewegungsbefehl ausgeführt wird (das Signal MOVE ist auf H),mit dem Signal UD09 bewirkt . Jedes Signal ist das Bit 9 des Bewegungsbefehls gemäß Fig. 26. Wenn das Signal eine 0 ist, wird die QuellensammeIleitung
1 über den Multiplexer mit dem Register A verbunden. Wenn das Signal eine 1 ist, wird die Quellensa.-nmelleitung 2 durch den Eingang 1 des Multiplexers mit dem Α-Register verbunden. Das Gatter 1616 verhindert bei arithmetischen Mikrobefehlen eine AuswaS I der Information auf der Quellensammelleitung 2 durch den Multiplexer. In solchen Fällen wählt der Eingang 0 des Multiplexers 1617 das Eingangssignal der Quellensammelleitung 1, da die Leitung MOVE bei arithmetischen Befehlen auf L ist.
609827/0U66
255661?
Die Register A und B bestehen jeweils aus integrierten Schaltungen SN 74298. In einer solchen Schaltung ist der 2:1-Multiplexer 1617 als integraler Bestandteil enthalten. Diese Möglichkeit wird bei dem Register B nicht ausgenutzt und nur ein Eingang, nämfich der von der Quellensammelleitung 2, wird dauernd als Eingang des Registers B gewählt.
Die AusgangssignaEe der Register A und B gehen über die Leitungen 1638 und 1639 zu den Eingängen der ALU-Einheit 1601 und der Schiebeschaltung 501. Das Ausgangssigna[ der ALU-Einheit wird vom Anschluß F zum Eingang B des Multiplexers 1609 geführt. Das Ausgangssignal der Schiebeschaltung wird über die Leitung Ϊ637 zum Eingang A des Multiplexers gegeben. Unter Steuerung von Signalen aus dem AROM-Speicher 1602 auf der Leitung 1633 können die Signale entweder am A- oder am B-Eingang des Multiplexers 1609 selektiv über den Multiplexer zur Bestimmungssammelleitung 205 geführt werden. Die ALU-Einheit wird außerdem bei Bewegungsoperationen benutzt. Dabei nimmt sie das Ausgangssignal des A-Registers auf, führt die erforderlichen Bewegyngsoperationen aus und gibt die Ergebnls&e dieser Operationen öiaer<ien Multiplexer 1609 zur BesimmungssammeW&iiung, Die ALU-Bnheif feesteht aus einer integrierten Schaltung SN 4181 und die SchiebeschaJtung 5OT aus zwei integrierten Schaltungen SN 74153.
S09827/O8S3
255661^
Die Schiebeschaltung 501 wird bei Schiebeoperationen benutzt. Dabei nimmt sie gleichzeitig die Ausgangssignale der Register A und B auf, verschiebt vier Bits dieser Information bei jedem Byte um die erforderliche Anzahl von Positionen und gibt die vier verschobenen Bits an den Eingang A des Multiplexers 1609 und über diesen zur Bestimmungssammelleitung 205. Die beiden Bits, die den Betrag der erforderlichen Verschiebung angeben, werden der Schiebeschaltung vom SC-Register 218 über die Leitung 239 zugeführt.
Fig. SO zeigt in Form einer Wahrheitstabelle die verschiedenen Funktionen, die der AROM-Speicher 1602, die ALU-Einheit 1601 und die Schiebeschaltung 501 zusammen aufgrund von Eingangserregungen ausführen, die der AROM-Speicher in Form von Adresseninformationen erhält. Die beiden am weitesten links stehenden Spalten in Fig. 30 geben die Adresseninformation an, die der Speicher AROM bei jeder Operation aufnimmt, die er steuert. Das höchststell ige Bit der AROM-Adresseninformation ist in der ersten Spalte dargestellt und kommt über die Ader ARTH*" der Leitung 1621 an. Wenn dieses Bit wahr ist, (eine 0), so gibt es an, daß ein arithmetischer Mikrobefehl ausgeführt werden soll. Diese Befehle werden durch die
609827/0866
2 55661
Adressen O bis.15 in der zweiten Spalte in Fig. 30 dargestellt» Die vier niedrigststelligen Bits der Adresseninformution sind in der zweiten Spalte angegeben. Diese vier Bits werden an die Leitung 1620 angelegt. Sie enthalten den Inhalt des arithmetischen Feldes eines Mikrobefehls der in Fig.25 angegebenen Art-
In der zweiten Spalte in Fig. 30 geben die Adressen 0 bis 5 logische Operationen oder Funktionen an, die jeweils in der vierten Spalte von links bezeichnet sind. Die Adressen 6 bis 12 stellen arithmetische Befehle und Befehle zur Verschiebung nach links um eine Position der in der dritten Spalte von links angegebenen Art dar. Die Adressen 13 und 14 sind leer und werden nicht benutzt. Die Adresse 15 ist eine Schiebeoperation mit einem beliebig steuerbaren Betrag. Die Adressen 16 bis 31 sind alle gleich und betreffen Bewegungsoperationen. Die dritte Spalte von rechts in Fig. 30 gibt denjenigen Eingang des Multiplexers 1609 an, welcher für jede der verschiedenen Adressen aktiviert ist. Die zweite Spalte von rechts gibt denjenigen Eingang des Multiplexers 1606 an, welcher für die jeweilige Adresse aktiviert ist. Die am weitesten rechts stehende Spalte gibt den Zustand on, In weichen das FiipFlop 1607 Für jede 4er verschiedenes Adressen während des Yorfdkfinteryalls geschaltet wird, Die fur die Adressen 16 bis 31 angegebenen Be-
60-9827/Οϋίίδ l '
2 5 5 6 6 1
wegungsbefehle sind alle untereinander gleich, so daß nur die Einzelheiten des Befehls 16 dargestellt sind. Fig. 30 zeigt nur diejenigen Funktionen der arithmetischen Einheit, bei der die ALU-Einheit 1601 beteiligt ist.
Die von der Schiebeschalfung 501 durchgeführten Schiebeoperationen sind in Fig. 30 nicht angegeben, da bei ihnen die ALU-Einheit nicht beteiligt
Zur genaueren Beschreibung der arithmetischen Einheit sei angenommen, daß sie eine Phase eines arithmetischen Befehls gemäß Fig. 25 ausführi. Es sei weiter angenommen, daß die Lade-Unterphase bereits durchgeführt ist. Dies bedeutet, daß die A- und B-Register 1603 und 1604 Daten von den Quel Jensammei leitungen aufgenommen haben. Dann müssen diese Daten, die jetzt bearbeitet werden sollen, gegebenenfalls über die Schiebe schaltung 501 zum richtigen Eingang des Multiplexers 1609 und dann über den Multiplexer zur BfStimmungssammelleitung 205 geführt werden. Die Art des arithmetischen Befehls, der jetzt ausgeführt werden soll, legt fest, ob der Inhalt der Register A und B über die Einheit ALU oder über die Schiebeschaltung zum Multiplexer 1609 zu übertragen ist. Die Einheit ALU wird bei Funktionen der in Fig. 3D angegebenen Art benutzt (links verschieben um 1, arithmetische oder logische Funktionen). Die Schiebe-
609827/086$
255661?.
schaltung wird bei allen Schiebeoperationen außer der benutzt, die für die Adresse 12 dargestellt ist.
Zur Beschreibung einer typischen Operation des Verarbeiten sei angenommen, daß der für die Adresse 7 gezeigte Addierbefehl ausgeführt werden soll. In diesem Fall gibt entsprechend Fig. $C der Speicher AROM die erforderlichen Ausgangssignale über Leitungen 1628 und 1629 zu den oberen beiden Eingängen der. Einheit ALU, um diese auf die Addieroperafion vorzubereiten. Wie in Zeile 7 in Fig. 30 angegeben, wird jetzt der Eingang B der Multiplexer 1606, 1609 aktiviert und das Flipflop 1607 wird zurückgestellt. Zu diesem Zweck wird ein Signal H durch den Speicher AROM auf die Leitung 1633 gegeben, um den Eingang B des Multiplexers 1609 zu wählen. Ferner wird ein Signal H auf die Ader 1629 gegeben, um den B-Eingang des Multiplexers 1606 zu wählen. Die Ader 1632 wird auf H und die Ader 1630 auf L gebracht. Diese beiden Signale bringen zusammen das Flipflop 1607 in den RücksteI!zustand.
Die vorstehenden Operationen bewirken die Vorbereitung der Einheit ALU und der restlichen Schaltungen gemäß flg. !6 zur Durehftlfjrung einer Addieroperaiion» Die Aktivierung des Eingangs B des Multiplexers 1609
2556612*
bewirkt die Auswahl des Ausgangs F der Einheit ALU. Wie in Fig. 3( angegeben, steht am Ausgang F zu diesem Zeitpunkt die Summe der Eingangssignale Aund B. Diese AusgangsinFormation wird über den Multiplexer 1609 auf die Bestimmunqssammelleitung 205 gegeben. Wenn die Summe der Eingangssignale A und B einen Übertrag für das nächste Byte erfordert, wird das Ubertragssignal von der Einheit ALU über die Ader 1635 zum B-Eingang des Mu I ti ρ I exe rs 1606 gegeben. Von dort v/ird es zum D-Eingang des Flipflops 1607 übertragen. Entsprechend der Darstellung in Fig. 3^ wird zum Taktzeitpunkf der Übertrags- oder Nichtübertrags-Zustand des gerade durch die Einheit ALU verarbeiteten Bytes in das Flipflop übertragen. Wenn ein Nichtübertrags-Zustand angegeben wird7 bleibt das Flipflop im rückgestellten Zustand. Es wird eingestellt, wenn ein Signal für einen Überfragszustand in Form eines Signals H am D-Eingang des Flipflops ankommt. Der Übertrags- oder Einstellzustand des Flipflops wird beim nächsten Durchgang von der Einheit ALU verwendet und kommt in Form eines Signals vom Ausgang Q des Flipflops über die Ader 1634 am Eingang Übertrag, Eingang der Einheit ALU an.
Die an die Sammelleitung 205, wejche die Bestimmungssammelteitung ist, angelegte Information wird zu einer der Bestimmungsschalrungen übertragen,
609827/0eC8
2 5 566 -80-
die mit der Bestimmungssammelleitung verbunden ist. Dies kann beispielsweise der Speicher TM, der Speicher CM, der Speicher RM, das Register SC, das Register SAR oder das Datenregister sein.
Nachfolgende Bytes des Wortes mit vier Byte werden von der arithmetischen Einheit auf entsprechende Weise wie eben für das erste Byte beschrieben, addiert und verarbeitet. Wenn das letzte Byte einen Übertrag enthält, so wird dies durch das Flipflop 1607 angezeigt und der Ubertragszustand des Flipflops 1607 bewirkt die Einstellung des Flipflops 1636. Dadurch wird ein diesen Zustand anzeigendes Signal an die CF-Ausgangsleitung 1641 der arithmetischen Einheit gegeben. Das Flipflop 1636 wird nur dann eingestellt, wenn beide Eingänge des Gatters 1612 zu diesem Zeitpunkt auf H sind.
Vorstehend ist beschrieben worden, wie die arithmetische Einheit eine Addieroperation durchführt. Entsprechend Fig. 30 gibt eine Eingangsadresse 15 eine Rechtsschiebeoperation an. Diese benutzt die Einheit ALU nicht. Bei Eintreffen der Adresse 15 im Speicher AROM wird der Eingang A der beiden Multiplexer 1609, 1606 gewählt und außerdem das Flipflop 1607 eingestellt. Die Schiebeschaltung 501 empfängt jetzt den Inhalt
609827/00 a 6
25566 -öl -
der Register A und B, verschiebt diese Information um die Anzahl von Bitpositionen, die durch die über die Leitung 239 vom SC-Register 218 ankommenden Signale angegeben werden, und überträgt ein die verschobene Information darstellendes 4-Bit-Byte über die Leitung 1637 zum A-Eingang des Multiplexers 1609. Von dort wird das verschobene Byte über den Multiplexer zur Bestimmungssamme!leitung 205 übertragen.
Ein Zustand mit nur 0-Werten auf der BestimmungssammeIleitung.wird für bestimmte logische Operationen festgestellt, die der Verarbeiter durchführt. Dies geschieht mit Hilfe der Gatter 1614 und 1613, wobei das Ausgangssignal des Gatters 1613 an den Eingang A des Multiplexers 1606 angelegt wird. Solange ein Zustand mit nur O-Werten für jedes Byte festgestellt wird, bleibt das Flipflop 1607 im eingestellten Zustand. Bei Auftreten eines Nichtnull-Zustandes auf der Bestimmungssammelleitung wird das Flipflop jedoch in den RücksteI!zustand umgeschaltet. Es kann dann nicht bei der gleichen Operation eingestellt werden.
Ein Bewegungs-Mikrobefehl gemäß Fig. 26 bewirkt, daß die arithmetische Einheit mit folgenden Ausnahmen auf ähnliche Weise arbeitet,~wie oben bereits beschrieben. Die Einheit ALLJ wird über die Adern 1628 und 1629
609827/0866
255661 -82-
Quf den Empfang des Inhalts des Registers A vorbereitet und überträgt ihn ohne Änderung an den Ausgang F der Einheit ALU. Beim Multiplexer 1606 ist der Eingang A aktiviert und nimmt das Ausgangssignal des Gatters 1613 auf, um auf die bereits beschriebene Weise einen Zustand mit nur O-Werten auf der Bestimmungssammelleitung festzustellen. Beim Multiplexer1609 ist der Eingang B aktiviert und nimmt das Signal am Ausgang F der arithmetischen Einheit auf und gibt es auf die Bestimmungssammel leitung 205. Das Flipflop 1607 ist vorher während der Vortaktzeit eingestellt worden, wie in der rechten Spalte in Fig .3C für einen Bewegungsbefehl mit den Adressen 16 bis 31 des Speichers AROM angegeben. Wenn die arithmetische Einheit auf die beschriebene Weise vorbereitet ist, wird jedes Byte in das A-Reg ister 1603 eingegeben und dann über die arithmetische Einheit und den Multiplexer 160? der Bestimmungssammelleitung zugeführt. Wenn bei einer Phase ein Byte festgestellt wird, das nicht 0 ist, so wird das" Flipflop 1607 auf 0 zurückgestellt und dieser Zustand festgehalten.
Fig. 17 zeigt genauere Einzelheiten des MAC-{Mikroadressenzähler)-Zählers 220, ides Multiplexers 221, des Registers 219 sowie der diesen Bauteilen zugeordneten Steuerschaltungen. Der Zähler 220 ist ein 12-ßif-Binärzähler, der parallel mit zwölf Bits gleichzeitig geladen, um T weitergeschajtet
609827/0866
255661^ -83 -
oder auf einen Zustand mit nur O-Werten gelöscht werden kann. Dem Löscheingang wird das Signal RSAAAC** zugeführt, das den Zähler löscht. Dies tritt in typischer Weise bei einer Programmunterbrechung oder bei Feststellung eines Bauteilfehlers auf. Da das Signal zu jedem Zeitpunkt ankommen kann, handelt es sich um ein asynchrones Signal. Der Lade-Eingang des Zählers ist mit der Ader LDCNT.* verbunden und der Takteingang mit der Ader SRTUT*. Die Lade- und Takt-Eingangssignale sind synchrone Signale. Wenn das Lade-Eingangssignal bei einer positiv gerichteten Flanke des Takt-Eingangssignals auf L ist, wird das Ausgangssignal des Multiplexers 221 parallel in den Zähler 220 geladen. Wenn das Lade-Eingangssignal während einer positiven Flanke des Takt-Eingangssignals auf H ist, wird der Zähler 220 lediglich um 1 weitergeschaltet. Der Zähler 220 enthält drei integrierte Schaltungen SN 74161 und der Multiplexer 221 drei integrierte Schaltungen SN 74157.
Die Eingänge des Multiplexers 221 sind mit A und B bezeichnet, wobei der Eingang A über die Leitung 243 mit dem Ausgang des MRS-Zählers 219 verbunden ist, und der Eingang B an der Leitung 230 liegt. Der Multiplexer 221 überträgt die B-Eingangs information an seinen Ausgang, wenn das Steuersignal SUBOP auf H ist. Die A-Eingangsinformation wird an
609827/0866
2 5 5 6 614-
den Ausgang gegeben, wenn das Signal SUBOP auf L ist. Dem Eingang B wird das Ausgangssignal des MikroSpeichers 222 über die Adern UDO bis UDIl der Leitung 230 zugeführt. Diese Information stellt die Adresse des nächsten Mikrobefehls dar.
Das Ausgangssignal des Registers 219 kann die Rückkehradresse eines Mikrounterprogramms darstellen, die vom Zähler 220 über die Leitung 244 und , den Eingang A des Multiplexers 1702 ankommt. Alternativ kann das Ausgangssignal die sieben Bits des Programm-Operationscode darstellen, die der Multiplexer 1702 an seinen Eingang B über die Leitung 210 von der Datensammelleitung aufnimmt. Entsprechend der Darstellung in den Fig. 21 - 24 befinden sich diese sieben Bits des Operationscode in den Bitpositionen 8 - 14 der Programmwörter, die der Verarbeiter vom Speichersystem 102 in Fig. 1 erhält.
Die Operationscodebefehle werden über die Leitung 210, den Multiplexer 1702 , das Register 219 und den Multiplexer 221 dem MAC-Zähler 220 zugeführt. Jeder Operationscode gibt auf besondere Weise das Anfangswort eines Blockes von Wörtern an, ,der jeweils im MikrospeicheT 222 ein anderes MikroUnterprogramm umfaßt. Wenn der MAC-Zähler einen be-
6.0 9827/Ö8ÜG
25566
-Ä5-
stimmten Operationscode empfängt, so wird der Mikrospeicher 222 auf das Anfangswort desjenigen Blockes von Wörtern gebracht, welchen der Verarbeiter benötigt, um die durch den Operationscode angegebene Arbeit durchzuführen. Dabei erfolgt ein sequentieller Zugriff zu den Wörtern des benötigten Blockes durch den MAC-Zähler 220. Der Zähler benötigt dabei keine Adresseninformafion vom Multiplexer 22I7 da er automatisch jeweils um einen Schritt weitergeschaltet wird, wenn der Lade-Eingang während einer positiven Flanke des Takt-Eingangssignals auf H ist. Demgemäß wird für alle Mikrospeicher-Adressierfunkfionen, bei denen jeweils ein Zugriff zum unmittelbar folgenden Wort eines Mikrospeicherprogramms erfolgen soll, der MAC-Zähler mit diesem Hilfsmittel jeweils um einen Schritt weitergeschaliet. Der Zähler 220 benötigt solange keine Adressen informationen, bis der Mikrospeicher 222 auf eine Speicherstelle springen soll, die nicht die nächste in der Folge ist, sondern der Anfang eines anderen Programms oder Unterprogramms.
!Nachfolgend wird beschrieben, v/ie die Schaltungsanordnung gemäß Fig. die Unterprogramm-Rückkehradresse des MikroSpeichers zurückbehält. Es sei angenommen, daß die Mikrospeicher-Steuerung die für ein bestimmtes Mikrowort erforderliche Arbeitsfunktion ausgeführt hat. Es sei ferner an-
609827/0006
255 6 6
genommen, daß der AAAC-Zähler 220 auf die bereits beschriebene Weise um einen Zählwert weitergeschaltet worden ist. Schließlich sei angenommen, daß beim Lesen des letzten Wortes aus dem Mikiospeicher 222 ein Sprung auf ein Mikrospeicher-Unterprogramm erforderlich ist. Dann wird die Steuerader INSREQ für den Multiplexer 1702 auf L gebracht, um dessen Eingang A zu aktivieren. Die Information am Eingang A wird dann mittels eines Signals auf der Leitung 1706 in den MRS-Zähler 219 geführt. Diese Information enthält die Adresseninformation auf der Leitung 244 und gibt die Position an, auf die der MAC-Zähler weitergeschalfet worden ist. Gleichzeitig wird der Eingang B des Multiplexers 221 aktiviert, indem die Steuerader SUBOP auf H gebracht wird. Der Eingang B erhält jetzt über die Leitung 230 das Ausgangssignal des Mikrospeichers 222. Dieses Ausgangssignal gibt die Mikrospeicher-Adressenstelle desjenigen Unterprogramms an, auf welches der Mikrospeicher springen soll. Die Information wird durch einen Multiplexer 221 an den MAC-Zähler 220 angelegt, der dann den Mikrospeicher 222 auf die angegebene Unferprograram-Aaressensfeiie springen.läßt»
Der Multiplexer 1702 arbeiter derart, daß immer dann,wenn das Signal INSIEQ auf L isl> der Eingang Ä des Multiplexers aktiviert ist und die information otrf der vom Ausgang des MAC-Zähiers kommende« Leitung
609827/08813
255661*
244 in das Register 219 geladen wird.· Dieses Laden findet dann statt, wenn alle Eingänge des Gatters 1704 auf dem richtigen Wert sind. Dadurch wird der Ladeingang des MRS-Registers 219 über das Gatter 1703 auf 1 gebracht und dann das Ausgangssignal des MAC-Zählers in das MRS-Register geladen. Wie bereits beschrieben, findet diese Operation kurz vor Ausführung einer Anforderung nach einem Sprung auf ein Unterprogramm statt. Auf diese Weise speichert das Register 219 die Unterprogramm- Rückkehradresse.
Es wird jetzt das Unterprogramm ausgeführt, wobei der Mikrospeicher und der MAC-Zähler jeweils um einen Schritt weitergeschaltet werden, um sequentiell einen Zugriff zu denjenigen Wörtern zu gewinnen, die das Unterprogramm bilden. Das Endwort jedes Unterprogramms stellt ein "Unterprogramm-Ende" -Kommando dar. Dieses Kommando bewirkt, daß die im MRS-Zähler 219 gespeicherte Adresseninformation über den Multiplexer 221 zum MAC-Zähler geführt wird, um diesen auf die angegebene Adresse einzustellen.
Nachfolgend wird beschrieben, wie die vom Speichersystem 102 kommenden sieben Bits des Operationscode im Register 219 gespeichert werden. Das
609827/08 6 6
25566
-68-
Signal INSREQ ist auf H und zeigt an, daß dem Verarbeiter ein Speicherbefehl vom Speichersystem 102 zugeführt wird. Das Speichersystem erzeugt ein "Speicher-fertiguSignal, wenn es seine Funktion beendet hat7 und dann wird das Signal IMCOMP auf H gebracht. Dadurch erzeugen,die Gatter 1705 und 1703 ein Signal H7 das ein Ladesignal für das Register MRS ist. Das Register wird dadurch veranlaßt, die jetzt am Eingang B des Multiplexers 1702 anstehende Information aufzunehmen. Von dort wird der Operationscode im Register 219 über den Multiplexer 221 in den MAC-Zähler geführt, der wiederum den Mikrospeicher 222 auf die erforderliche Adresse einstellt.
Man beachte, daß die Operationscodeinformation, die der Zähler MRS erhält, nur sieben Bits umfaßt, während der MAC-Zähler 220 ein 12—Bit-Zäh! er ist. Die sieben Bits des empfangenen Operationscode werden in die Blipositionen \ - 7 des Registers 219 eingegeben. Die restlichen Bits, die der Zähler 220 benötigt, sind fest mit dem B-Eingang des Multiplexers 1702 csuf die folgende Welse verdrahtet, Das ßit 0 ist dauernd eine NuH, die Bits 8, 9 sind dauernd eine 1, und die Bits 10, 11 sind dauernd NuII.-Diese feste Verdrahtung bringt den Operationscode auf eindeutige Welse in eine Starttabeile Im Mikrospeicfiersystem, so daß jeder 0nk<»nniende öperaMonscode den MAC-Zähler und den Mikrospeicher 222 auf das
609827/0866
255661
Anfangswort des benötigten Blocks von Programmwörtern bringt.
Der Zähler MRS enthält drei integrierte Schaltungen SN 74298. Diese Schaltungen sind Speicher-Multiplexer und enthalten sowohl.den MRS-Zähler219 als auch den Eingangsmultiplexer 1702.
Es sei jetzt erwähnt, daß die Schaltungen gemäß Fig. 2 sich von demjenigen der Fig. 17 im Hinblick auf die Art und Weise geringfügig unterscheiden, wie die Information auf der Leitung 210 in Fig. 2 an den MAC-Zähler 220 angelegt wird. In Fig. 2 ist zur Vereinfachung und zur Erleichterung des Verständnisses die Leitung 210 direkt an den Eingang des Multiplexers 221 angeschaltet. In Fig. 17 liegt die Leitung 210 nicht direkt an einem Eingang des Multiplexers 221, sondern ist stattdessen mit dem Eingang B des Multiplexers 1702 und dann mit dem Eingang des MRS-Registers 219 verbunden. Vom Ausgang des Registers 219 werden die Signale auf der Leitung 210 zum Eingang A des Multiplexers 221 und dann zum MAC-Zähler 220 geführt. Insgesamt zeigt Fig. 17 die bevorzugten Schaltungseinzelheiten für die Art und Weise, wie der MAC-Zähler 220 mit der Leitung 210 verbunden werden kann. Fig. 2 zeigt eine vereinfachte Version.
609827/0886
255661^
Fig. 18 enthält weitere Einzelheiten für die Schaltungen und Bauteile, die den Mikrospeicher 222 in Fig. 2 bilden. Wie gezeigt, enthält der Mikrospeicher die Miktospeicher-Festwertspeicher (ROM) 1801, Mikroregister (latch) 1802 und einen Mikrospeicher-Zeitgeber 1803. Die Mikrofestwertspeicher 1801 enthalten sechs integrierte Signetics-Schaltungen 2580, die so angeordnet und verdrahtet sind, daß sie ausschließlich des Paritätsbits einen 2048 χ 23-Bit-Speicher bilden. Die Adresseninformafon für die Festwertspeicher kommt vom MAC-Zähler 220 über die Leitung 244. Das Synchron- oder Lesesignal kommt vom Mikrospeicher-Zeitgeber 1803 über die Leitung 1804. Das Ausgangssignal der Festwertspeicher wird über die Leitung 1806 an die Mikroregister 1802 gegeben.
Die Reihenfolge der Operationen 1st die folgende; Der Zeitsteuerungsaenerator erzeugt am Beginn eines Mikrobefehls das Signai SRTUT^ das den Mikrospeicher-Zeitgeber 1803 veranlaßt, den Zugriff zu den Festwertspeichern 1801 beginnen zu lassen. Unter Steuerung der Adresseninformaficn auf der Leitung 244 werden die Festwertspeicher gelesen und der- Inhalt des adressierten Wortes wird über die Leitung 1806 ausgegeben und in die Mikroregister 1802 übertragen. Dies erfolgt unter Steuerung eines Ladesignais, das vom Mikrospeicher-Zeitgeber 1803 erzeugt und über die Leitung 1805
6Q9827/0ÖÖ6 '
2556613-
zu den Mikroregistern gegeben wird. Der Zeitgeber gibt ein Signal UCYCCP über die Leitung 1807 zurück, wenn er das Auslesen der Festwertspeicher und die Eingabe des ausgelesenen Inhalts in die Mikroregister 1802 beendet hat. Das Ausgangssignal der Mikroregister wird über die Leitung 230 an die Decodierlogik 226 übertragen, die die Steuersignale erzeugt, welche die Anlage gemäß Fig. 2 und 3 benötigt, um die mit dem aus dem Mikrospeicher 222 gelesenen Wort zugeordneten Arbeitsfunktionen auszuführen.
Die Mikroregister 1802 umfassen sechs integrierte Schaltungen SN 74298. Der Mikrospeicher-Zeitgeber 1803 ist eine integrierte Schaltung SN 74161,. die als Zeitgeber arbeitet, ferner eine integrierte Schaltung SN 7474, die Flipflops bildet, und eine integrierte Schaltung SN 7408, die Gatter beinhaltet.
Fig. 19 zeigt weitere Einzelheiten des Bestimmungsdecoders, der Teil der Decodierlogik 226 in Fig. 2 ist. Der Bestimmungsdecoder legt fest, wo die Information zu speichern ist, die die arithmetische Einheit 202 an die Bestimmungssammelleitung 205 gibt. Der Bestimmungsdecoder ist mit vier der Adern UD— verbunden, die den Ausgang des Mikrospeichers 222 bilden. Der Decoder ist ein 4-auf-l6-Decoder und decodiert die vier Bits des Be-
609827/00 8 6
2556-6
-η-
stimrnungsfeldes eines Mikrobefehls gemäß Fig. 25 und 26, um diejenige Schaltung festzulegen, die die Information auf der Bestimmungssammelleitung aufnehmen soll. Das Gatter ERM nimmt die Ausgangssignale der Positionen 0, 1 und 2 des Decoders auf und erzeugt ein Signal RM. Dieses Signal gibt an, daß der RM-Speicher 208 die Information von der Bestimmungssammelleitung aufnehmen soll. Die Positionen 7 und 8 des Decoders erzeugen über ein Gatter ESAR ein Signal EWSAR. Dieses Signal führt entsprechend Fig.·32 zum SAR-Register 215 und veranlaßt dort, daß die Information auf der Bestimmungssammelleitung 205 in das Register SAR und dann auf die Adressensammelleitung 111 gegeben wird. Das Gatter WLl kombiniert das Ausgangssignal 4 des Decoders und das Taktsignal ende im Signal der Phase 0,( Signal CPHSO*) , um das zum Laden des L-Registers 216 erforderliche Taktsignal zu gewinnen. Der obere Eingang des Gatters WLl ist mit dem Ausgang 4 des Bestimmungsdecoders verbunden.
Fig. 20 zeigt weitere Einzelheiten des Steuerfelddecoders, der ebenfalls TeiJ der Decodieriosik 226 in Fig, 2 ist. Der Steuerfelddecoder ist mit den UD—Adern ö bis 4 am Ausgang des Mikrospeichers 222 verbunden und decodiert diese Infonnaiionen zur Erzeugung der ouf der rechten Seite des Decoders gezeigten Äusgangssignciie, Die enfsprechenden Ausgangson-
609827/0866
255661
Schlüsse sind mif O bis 15 bezeichnet. Der Decoder setzt vom Binärsysrem auf l-aus-16 um, wobei jede Kombination von binären Eingangssignal, die an die linke Seite angelegt werden, zur Erzeugung eines Signals an einen besonderen Ausgangsanschluß führt. Der Eingang G2 des Decoders ist ein Takteingang, der den Zeitpunkt steuert, zu dem die ankommende Binärinformation als l-aus-16-Signal an den Decoderausgang gegeben wird.
Fig. 3"2 zeigt i.n tabellarischer Form die Quellenschaltungen für die Steuersignale, die die verschiedenen Schaltungen des Verarbeiters erhalten. So ist beispielsweise links oben gezeigt, daß die arithmetische Einheit 202 zwei Signale vom MikroSpeicher (MS) 222 und sechs unterschiedliche Signale vom Zeitsteuerüngsgenerator (TG) 246 erhält. Der Speicher RM erhält Signale von der Decodierlogik (DL) 226, dem Mikrospeicher und dem Zeitsteuerungsgenerator. Die Register SC und TPA erhalten Steuersignale von der Decodierlogik, dem Zeitsteuerungsgenerator und der arithmetischen Einheit (AMU). Die übrigen Teile der Fig.32 dürften ohne weitere Erläuterung verständlich sein.
ig.fy und h zeigen die zeitliche Beziehung zwischen den verschiedenen Steuersignalen, die die Schaltungen gemäß Fig. 17 und 18 erhalten. Die
609827/08ÜÜ
2556619-
SignaleD401 und3402 orientieren die restlichen Signale in Fig.34 zeitlich sowie mit Bezug auf die Signale in Fig. Id . Das Signal3401 ist das gleiche Signal wie das Phase-0-Signal in Fig. M, und das PRDCLK-Signal3402 ist das gleiche Signal wie das Signal.PRECLK in Fig. M,.
Das Signaß403 stellt die Spannung auf der Ader 1805 dar. Ein Signal H auf dieser Ader bev/irkt ein Laden der Mikroregister 1802 vom Ausgang der Mikrofestwertspeicher 1 801 .
Das STRUT*'-Signa|i?404/ das von einem negativen auf einen positiven Wert umschaltet, wenn die Adern LDCNT* und RSMAC r auf H sind, schaltet den MAC-Zähler 220 um eine Position weiter. Wie bereits beschrieben, erfolgt dadurch ein Zugriff zum nächsten Wort der Mikrofestwertspeicher 1801 Das nächste Auftreten des SignaJs3403 auf der Leitung 1805 bewirkt ein Laden der Mikroregisfer 1802 durch das neu adressierte Worf der Mikrofestwertspe icher.
Die Sigria!eB405 undß4Q6 beziehen sich auf Bedingungen der Anlage, bei der das Mikroprogramm einen Abzweig snirifff, bei dem 4as Ausgangssigncd der Mikroregister 1802 die nächste Mikroprogrammadresse angibt, auf die der
2556613-
MAC-Zähler 220 eingestellt werden soll. Diese Information wird über den Eingang B des Multiplexers 221 zum MAC-Zähler 220 zurückgegeben. Daher ist es erforderlich, daß zu diesem Zeitpunkt die SUBOP-Steuerader des Multiplexers auf H ist. Wenn das SignaL3405 zum ersten Mal negativ wird, schaltet es den MAC-Zähler 220 um einen Schritt weiter. Wenn das SignaB405 zum zweitenmal negativ wird, (Rückflanke des Signals), wird der MAC-Zähler mit der Adresseninformation eingestellt, die sich im Augenblick auf der Leitung 230 befindet, da jetzt die Ader LDCNT"*auf L ist. Der MAC-Zähler veranlaßt wiederum einen Zugriff zu demjenigen Mikroprogrammwort, auf den er durch dieses Signal eingestellt worden ist.
Das Signal3407 stellt das zusätzliche Steuersignal dar, das zur Ausführung einer Unterprogrammanforderung nötig ist. Die Signale3405 und3406 führen die bereits erläuterten Funktionen aus. Bei einer Unterprogrammanforderung ist es jedoch erforderlich, die Adresseninformation aufzubewahren, die die Position angibt, auf die der Zähler MAC weitergeschaltet worden ist. Dies geschieht durch das Signal3407, das die Adressen information auf der Leitung 244 in den MRS-Zähler 219 eingibt. Die Information wird dem Register 219 über den Eingang A des Multiplexers 1702 zugeführt.
609827/0806
Das Signal3408 ist das Steuersignal, das am Ende einer Unterprograrnmanforderung erzeugt wird. Es wird auf die Leitung 1706 gegeben und bewirkt, daß der augenblickliche Inhalt des MRS-Registers 219 in den MAC-Zähler geladen wird. Dies geschieht unter Steuerung des an den Multiplexer 221 angelegten Steuersignals SUBOP. Dieses Steuersignal ist auf L, um den Eingang A des Multiplexers 221 zu aktivieren, so daß der Inhalt des Registers MRS in den MAC-Zähler gegeben werden kann.
Fig.35 zeigt die Anlagensteuersignale, die das Eintreten eines Programmwortes aus dem Speichersystem in den MAC-Zähler 220 steuern. Das Signal3501 gibt das Ende des Phase-3-Signals in Fig. Zi an. Das Signal CTLPLS^ ist identisch mit dem in Fig. M und tritt unmittelbar bei Beendigung des Phase-3-Signals auf. Das INSREQ-Signal3503 aktiviert, wenn es auf H geht, den Eingang B des Multiplexers 1701, so daß das an die Leitung 210 angelegte Programmbefehlswort über den Multiplexer 1702 in das MRS-Register 219 eintreten kann. Dies geschieht zu dem durch den Pfeil oberhalb des Signals angegebenen Zeitpunkt. Das |MCOMP-Signal3504 und das IMSREQ-Signal3503 schalten das UND-Gatter 1705 ein, so daß das MRS-Register mit dem Programmwort auf der Leitung 210 über den Eingang B des Multiplexers 1702 geladen werden kann.
609827/0«Jü6
255661$
Das SUBOP-Signal3505 ist für die gesamte Operation auf L. Dadurch wird der Eingang A des Multiplexers 221 betätigt gehalten. Anschließend wird, nachdem beide Signale3506 und.o07 auf L sind, und wenn die Rückflanke des Signals350o auftritt, der Inhalt des MRS-Registers 219 in den MAC-Zähler 220 geladen.
Das Signal3508 gibt den Zeitpunkt an, zu dem das Programmwort, zu dem die Signale3506 und3507 einen Zugriff ermöglicht haben, ein Lesen der Festwertspeicher 1801 bewirken und die gelesene Information in die Mikroregister 1802 eingeben kann. Die Mikrofestwertspeicher 1801 benötigen eine endliche Zeit nach Eintreffen eines Lesesignals auf der Leitung 1804, um eine Leseoperation durchzuführen. Daher wird das LadesignalJ508 um etwa 700 ns verzögert, um die Lesezeit zu berücksichtigen und um den Inhalt der durch die Steuersignale auf der Leitung 244 angegebenen Stelle des Mikrofestwertspeichers 1801 in die Mikroregisrer 1802 einzugeben.
809827/08GS

Claims (11)

  1. BLUMBACH · WESER . BERGEN . KRAMER ZWiRNER . HIRSCH
    -- PATENTANWÄLTE IN MÜNCHEN UND WIESBADEN £ D O ö CU
    Postadresse München: Patentcor.sult 8 München 60 Radeckestraße 43 Telefon (089) 883605/883604 Telex 05-212313 Postadresse Wiesbaden: Patentconsult 62 Wiesbaden Sonnenberger Straße 45 Telefon (06t21)562945/561998 Telex 04-186257
    Patentansprüche
    V)Datenverarbeiter zum rotierbaren Verschieben von Bits eines Datenwortes um eine Anzahl von Bitpositionen, wobei das Datenwort eine Vielzahl von Mehrbit-Bytes enthält, die in einer ersten Bytefolge angeordnet sind,
    gekennzeichnet durch eine Einrichtung (217,218) zur Speicherung von Informationen, die die genannte Anzahl von Bitpositionen darstellen, eine Speichereinrichtung (2o6), die das Datenwort Byte für Byte an unterschiedlichen Speicherstellen in einer zweiten Bytefolge aufnimmt, die von den genannten Informationen (aus 217) abhängt, und eine Einrichtung (2o2), die unter Ansprechen auf die genannten Informationen und auf den gleichzeitigen Empfang von Bits aus jedem von aufeinanderfolgenden Paaren von Bytes, wobei die Bytes jedes Paares im Betrieb durch 5e die erste (aus 2o8) und zweite (aus 2o6) Bytefolge bereitgestellt werden, an ihrem Ausgang (2o5) das um die Anzahl von Bitpositionen rotierbar verschobene Datenwort liefert.
  2. 2) Datenverarbeiter nach Anspruch 1,
    dadurch gekennzeichnet, dass die Speichereinrichtung (2o6) das rotierbar verschobene
    609827/0866'
    255661?
    Datenwort Byte für Byte an unterschiedlichen Speicherstellen speichert.
  3. 3) Datenverarbeiter nach Anspruch 1 oder 2, gekennzeichnet durch eine Einrichtung (257»26o), die unterschiedliche Stellen der Speichereinrichtung (2o6) adressiert und auf die genannten Informationen anspricht.
  4. 4) Datenverarbeiter nach einem der Ansprüche 1 "bis 3, dadurch gekennzeichnet, dass die Einrichtung zur Speicherung von Informationen erste (217) und zweite (218) Spei ehe rinittel enthält, die je Daten aufnehmen, welche einen bestimmten Teil der genannten Informationen darstellen.
  5. 5) Datenverarbeiter nach Anspruch 3 und 4, dadurch gekennzeichnet, dass im Betrieb die genannten Informationen eine Vielzahl von Bits enthalten, dass die ersten Speichermittel (217) das Komplement der höherstelligen Bits aus der Vielzahl von Bites speichern, dass die zweiten Speichermittel (218) die niedrigerstelligen Bits der Vielzahl von Bits speichern, dass Ausgangssignale der ersten Speichermittel (217) die zweite Bytefolge steuern, und dass Ausgangssignale der zweiten Speichermittel (218) die Einrichtung zur Lieferung des verschobenen Datenwortes veranlassen, das Datenwort um
    609827/088Ö
    255661^
    die angegebene Anzahl von Bitpositionen rotierbar zu verschieben.
  6. 6) Datenverarbeitcr nach einem-der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Einrichtung (2o2) zur Lieferung des verschobenen Datenwortes eine erste Vielzahl von Eingängen (verbunden mit der Quellensammelleitung 2o3),· die je ein zugeordnetes Bit jedes Byte in der ersten Bytefolee aufnehmen, eine zweite Vielzahl von Eingängen (verbunden mit der Quellen-Sammelleitung 2o4), die ,je ein zugeordnetes Bite jedes Byte in der zweiten Bytefolge aufnehmen, und eine Einrichtung (5o2) aufweist, die in Abhängigkeit von den genannten Informationen eine informationsabhängige Kombination von Eingängen aus der ersten und zweiten Vielzahl von Eingängen mit dem Ausgang (verbunden mit der BestimmungsSammelleitung 2o5) der Einrichtung zur Lieferung des verschobenen Datenwortes koppelt.
  7. 7) Verfahren zur rotierbaren Verschiebung von Bits eines Datenwortes um eine Anzahl von Bitpositionen, wobei das Datenwort eine Vielzahl von Mehrbit-Bytes enthält, die in einer ersten Bytefolge angeordnet sind, dadurch gekennzeichnet, dass Informationen, die die genannte Anzahl von Bitpositionen darstellen, gespeichert werden,(in 217,218), dass das Datenwort Byte für Byte an unterschiedlichen
    609827/0866
    -404- 255661?
    Speicherstellen einer Speichereinrichtung (2o6) in einer zweiten Bytefolge, die von den genannten Informationen abhängt f speichert,
    und dass Bits aus jedem von aufeinanderfolgenden vorbestimmten Paaren von Bytes, wobei die Bytes jedes Paares durch je die erste und zweite Bytefolge bereitgestellt werden, gleichzeitig in Abhängigkeit von den genannten Informationen (in 2o2) verarbeitet v/erden, um damit das rotierbar verschobene Datenv/ort zu liefern.
  8. 8) Verfahren nach Anspruch 7,
    dadurch gekennzeichnet, dass das rotierbar verschobene Datenv/ort Byte für Byte an unterschiedlichen Stellen der Speichereinrichtung (2o6) gespeichert wird.
  9. 9) Verfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass unterschiedliche Stellen der Speichereinrichtung (2o6) in Abhängigkeit von den genannten Informationen adressiert werden, um dort die zweite Bytefolge zu speichern.
  10. 10) Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass Daten, die einen ersten Teil der genannten Informationen darstellen, in ersten Speichermitteln (217) und Daten, die den restlichen Teil der genannten Informationen
    609827/086Ö
    ~4Q2-
    darstellen, in zweiten Speichermitteln (218) gespeichert werden.
  11. 11)· Verfahren nach Anspruch 9 und 1 ο, dadurch gekennzeichnet, dass die genannten Informationen eine Vielzahl von Bits umfassen, dass das Komplement der höherstelligen Bits aus der Vielzahl von Bits in den ersten Speichermitteln (217) und die niedrigerstelligen Bits aus der Vielzahl von Bits in den zweiten Speichermitteln (218) gespeichert werden, dass Ausgangssignale der ersten Speichermittel (217) geliefert werden, um die zweite Bytefolge zu steuern, und dass Ausgangssignale der zweiten Speichermittel (218) geliefert werden, um die gleichzeitige Verarbeitung von Bits aus jedem der vorbestimmten Paare von Bytes zu steuern,
    /oä
    Leerseite
DE2556617A 1974-12-16 1975-12-16 Schiebe- und Rotierschaltung Expired DE2556617C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/533,454 US3996566A (en) 1974-12-16 1974-12-16 Shift and rotate circuit for a data processor

Publications (2)

Publication Number Publication Date
DE2556617A1 true DE2556617A1 (de) 1976-07-01
DE2556617C2 DE2556617C2 (de) 1982-09-30

Family

ID=24126026

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2556617A Expired DE2556617C2 (de) 1974-12-16 1975-12-16 Schiebe- und Rotierschaltung

Country Status (7)

Country Link
US (1) US3996566A (de)
JP (1) JPS5921056B2 (de)
CA (1) CA1039413A (de)
DE (1) DE2556617C2 (de)
GB (1) GB1522324A (de)
NL (1) NL7514584A (de)
SE (1) SE411603B (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4187551A (en) * 1975-11-21 1980-02-05 Ferranti Limited Apparatus for writing data in unique order into and retrieving same from memory
GB1524850A (en) * 1975-12-23 1978-09-13 Ferranti Ltd Data processing apparatus
US4106090A (en) 1977-01-17 1978-08-08 Fairchild Camera And Instrument Corporation Monolithic microcomputer central processor
FR2420167B1 (fr) * 1978-03-14 1985-10-04 Constr Telephoniques Systeme de manipulation de champs d'elements binaires
US4319325A (en) * 1978-07-24 1982-03-09 Intel Corporation Digital processor for processing analog signals
JPS5636741A (en) * 1979-08-31 1981-04-10 Fujitsu Ltd Shift system
US4370743A (en) * 1980-07-25 1983-01-25 Bell Telephone Laboratories, Incorporated Time division switching system
US4340960A (en) * 1980-07-25 1982-07-20 Bell Telephone Laboratories, Incorporated Time division switching system
EP0055126B1 (de) * 1980-12-23 1986-05-07 Sperry Corporation Wortverschiebungsgerät mit hoher Geschwindigkeit
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
EP0122684B1 (de) * 1983-01-18 1988-06-15 Plessey Overseas Limited Elektronisches Vermittlungssystem
JP2520585B2 (ja) * 1983-06-06 1996-07-31 日通工株式会社 時分割通話路における時間スイツチ
DE3687124T2 (de) * 1986-02-06 1993-03-18 Mips Computer Systems Inc Funktionseinheit fuer rechner.
US4999808A (en) * 1986-09-26 1991-03-12 At&T Bell Laboratories Dual byte order data processor
JPH0748303B2 (ja) * 1989-06-26 1995-05-24 株式会社東芝 ワード長変換回路
US5442769A (en) * 1990-03-13 1995-08-15 At&T Corp. Processor having general registers with subdivisions addressable in instructions by register number and subdivision type
JPH05134848A (ja) * 1991-03-06 1993-06-01 Fujitsu Ltd 中央処理装置のデータシフト回路
US10418125B1 (en) * 2018-07-19 2019-09-17 Marvell Semiconductor Write and read common leveling for 4-bit wide DRAMs

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2150291A1 (de) * 1971-10-08 1973-04-19 Ibm Deutschland Verschiebeeinrichtung fuer daten mit beliebiger breite

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3228005A (en) * 1960-12-30 1966-01-04 Ibm Apparatus for manipulating data on a byte basis
US3270324A (en) * 1963-01-07 1966-08-30 Ibm Means of address distribution
US3546676A (en) * 1963-10-29 1970-12-08 Singer Co Calculator
US3475730A (en) * 1966-05-27 1969-10-28 Gen Electric Information shift apparatus in a computer system
US3516069A (en) * 1967-08-14 1970-06-02 Collins Radio Co Data character assembler and disassembler
US3500466A (en) * 1967-09-11 1970-03-10 Honeywell Inc Communication multiplexing apparatus
US3781812A (en) * 1971-06-28 1973-12-25 Burroughs Corp Addressing system responsive to a transfer vector for accessing a memory
US3820079A (en) * 1971-11-01 1974-06-25 Hewlett Packard Co Bus oriented,modular,multiprocessing computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2150291A1 (de) * 1971-10-08 1973-04-19 Ibm Deutschland Verschiebeeinrichtung fuer daten mit beliebiger breite

Also Published As

Publication number Publication date
USB533454I5 (de) 1976-03-02
SE7513579L (sv) 1976-06-17
CA1039413A (en) 1978-09-26
US3996566A (en) 1976-12-07
JPS5921056B2 (ja) 1984-05-17
NL7514584A (nl) 1976-06-18
SE411603B (sv) 1980-01-14
JPS51102530A (de) 1976-09-10
GB1522324A (en) 1978-08-23
DE2556617C2 (de) 1982-09-30

Similar Documents

Publication Publication Date Title
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2819571C2 (de)
DE3586603T2 (de) Datenprozessor fuer interpretierende und kompilierte sprache.
DE60132585T2 (de) Vorrichtung und verfahren zum ausgeben der gruppierung von befehlen in einem vliw-prozessor
DE2714805C2 (de)
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE3638572C2 (de)
DE2635592A1 (de) Multiprozessor-abrufsystem
CH634939A5 (de) Kanaldatenpufferanordnung in einer datenverarbeitungsanlage.
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE1218761B (de) Datenspeidbereinrichtung
DE2355993A1 (de) Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE2457612B2 (de) Mikroprogrammier-Steuereinrichtung
DE2556641A1 (de) Datenverarbeiter
DE2248296A1 (de) Programmsteuereinrichtung
DE1474095B1 (de) Programmgesteuerte Datenverarbeitungsanlage
DE1774052B1 (de) Rechner
DE3043653A1 (de) Datenverarbeitungsanlage
WO1995010803A1 (de) Prozessor für zeichenketten variabler länge
DE1191145B (de) Elektronische Zifferrechenmaschine
DE3587517T2 (de) Paralleler Registertransfermechanismus für Reduktionsprozessor zur Durchführung von Programmen die als binäre Graphen gespeichert sind und die Anwendungssprachenkodes ohne Variablen verwenden.

Legal Events

Date Code Title Description
OD Request for examination
8126 Change of the secondary classification

Ipc: ENTFAELLT

D2 Grant after examination
8339 Ceased/non-payment of the annual fee