DE2556617C2 - Schiebe- und Rotierschaltung - Google Patents

Schiebe- und Rotierschaltung

Info

Publication number
DE2556617C2
DE2556617C2 DE2556617A DE2556617A DE2556617C2 DE 2556617 C2 DE2556617 C2 DE 2556617C2 DE 2556617 A DE2556617 A DE 2556617A DE 2556617 A DE2556617 A DE 2556617A DE 2556617 C2 DE2556617 C2 DE 2556617C2
Authority
DE
Germany
Prior art keywords
memory
register
byte
multiplexer
signal
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.)
Expired
Application number
DE2556617A
Other languages
English (en)
Other versions
DE2556617A1 (de
Inventor
John Christian Broomfield Col. 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

2. Schiebe- und Rotierschaltung nach Anspruch 1, gekennzeichnet durch eine Verbindung (205, 238) vom Byte-Prozessor (202) zum zweiten Speicher (206) zur Einspeicherung jedes rotiert verschobenen Byte in den zweiten Speicher.
3. Schiebe- und Rotierschaltung nach Anspruch 1 oder 2, gekennzeichnet durch ein erstes (217) und ein zweites (218) Register, die jeweils höherstellige bzw. niedrigerstellige, die Zahl N darstellende Informationen speichern, eine Steueiverbindung (257) vom ersten Register (217) zum zweiten Speicher (218) zur Steuerung der Folge, in der aufeinanderfolgende Bytes in den zweiten Speicher eingeschrieben bzw. aus ihm gelesen werden, und durch eine Steuerverbindung (23?) vom zveiten Register (218) zum By te-Prozessor (202).
4. Schiebe- und Rotierschaltun^ nach Anspruch 3, dadurch gekennzeichnet, daß das erste Register (217) so geschaltet ist, daß es die höchststelligen Bits der Zahl N in komplementärer Form enthält und zyklisch weiterschaltbar ist, wobei die Zykluslänge gleich der Zahl von Bytes im Datenwort ist.
5. Schiebe- und Rotierschaltung nach einem der vorhergehenden Ansprüche, gekennzeichnet durch eine Steuereinrichtung (222), die so ausgelegt ist, daß sie die Einspeicherung eines Byte für Byte vom ersten zum zweiten Speicher zu übertragenden Datenwortes in den zweiten Speicher mit der zweiten Byte-Folge veranlaßt und bewirkt, daß aufeinanderfolgende Byte-Paare, die je aus einem Byte vom ersten und einem Byte vom zweiten Speicher bestehen, gleichzeitig an den Byte-Prozessor (202) gegeben werden.
6. Schiebe- und Rotierschaltung nach Anspruch 5 und 2, dadurch gekennzeichnet, daß die Steuereinrichtung (222) so ausgelegt ist, daß sie die Einspeicherung des rotiert verschobenen Datenwortej in den zweiten Speicher (206) veranlaßt, derart, daß jedes Byte des rotiert verschobenen Datenwortes an einer Speicherstelle abgelegt wird, in der vorher dasjenige Byte vom zweiten Speicher gespeichert war, welches zu dem Paar^ gehört, aus dem das Byte des rotiert verschobenen Datenwortes abgeleitet worden ist.
Die Erfindung betrifft eine Schiebe- und Rotierschaltung zum rotierbaren Verschieben von Bits eines Datenwortes um eine Anzahl N von Bitpositionen, wobei das Datenwort eine Vielzahl von Mehrbit-Bytes enthält, die in eine,' ersten Byte-Folge in einem ersten Speicher angeordnet sind.
Schiebe- und Rotierschaltungen sind bekannt und notwendiger Bestandteil von Prozessoren, die arithmetische und/oder logische Operationen mit einem Minimum an Zeitaufwand ausführen müssen. Solche Schaltungen geben die Möglichkeit, Operationen auszuführen, die durch eine Anzahl von höheren Programmiersprachen angegeben werden. Wenn beispielsweise ein Feld eines Wortes mit mehreren Feldern geprüft, analysiert oder auf das Vorhandensein oder Nichtvorhandensein einer bestimmten Bedingung verglichen werden soll, so werden Schiebe- und Rotierschaltungen benutzt, um das Feld nach rechts zu bewegen, so daß es den niedrigststelligen Teil des Wortes einnimmt. Dann können die Verknüpfungs- und Logikschaltungen des Prozessors 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ß Prozessoren mit Schiebe- und Rotierschaltungen ausgestattet werden, die die erforderlichen Funktionen bei minimalem Zeitaufwand ausführen.
Es sind brauchbare Schiebe- und Rotierschaltungen zur Verwendung bei Prozessoren bekannt die intern Wörter gleicher Bit-Länge wie die vom Eingabe-Ausgabe-System empfangenen Wörter bewegen, manipulieren und logische und arithmetische Operationen mit ihnen durchführen. In der US-Patentschrift 33 74 463 ist auch schon eine Schiebe- und Rotierschaltung offenbart, die ein Wort bearbeitet, während es von einem Teil des Prozessors zu einem anderen übertragen wird. Die bekannten Schiebe- und Rotierschaltungen führen zwar ihre Funktionen brauchbar aus, sind aber hinsichtlich ihrer Anwendungsmöglichkeit auf Prozessoren beschränkt, die intern Wörter gleicher Bit-Länge verarbeiten, wie diejenigen, die von den Eingabe-Ausgabe-Einrichtungen ankommen. Dies stellt ein Problem dar, da es seit der Einführung der Großintegration bekannt ist, Prozessoren zu benutzen, die 16-Bit-Wörter von den Eingabe-Ausgabeeinrichtungen aufnehmen, jedes solehe Wort in mehrere Vielbit-Bytes aufteilen und logische und arithmetische Operationen durchführen, indem die Bytes jeweils nacheinander verarbeitet werden. Die meisten bekannten Schiebe- und Rotierschaltungen sind aber für eine Verwendung in Verbindung mit byteseriellen Prozessoren ungeeignet. Es sind Schiebe- und Rotierschaltungen für Prozessoren bekannt, die Bytes mit vier Bits verarbeiten, beispielsweise die Prozessoren in der Nova-Serie von Rechnern, die von der Data General Corporation of Southborough, Massachusetts, 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 I6-Bit-Wort um acht Bits verschoben werden soll, so müssen acht aufeinanderfolgende Schiebeoperationen durchgeführt werden, wobei jede Operation typisch drei getrennte Maschinenbefehle benötigt. Wenn ein Maschinenbefehl eine Ausführungszeit von etwa einer Mikrosekunde hat, so würde eine 8-Bit-Verschiebung eine Ausführungszeit von 24 MikroSekunden benötigen. Man erkennt aiso, daß Schiebe- und Rotieroperationen viel Realzeit benötigen können, wenn sie Bit für Bit durchgeführt werden. Das ist nachteilig, da Schiebe- und
P Rotieroperationen in großem Umfang benutzt werden und dann diese häufig durchgeführten Operationen die f Verarbeitungskapazität des Rechners beschränken.
* Bekannt ist auch eine Schaltungsanordnung zum
κ Verschieben von Daten mit beliebiger Datenbreite um
* ein oder mehrere Bits in einem Verschiebezyklus mit Hilfe eines gesteuerten logischen Durchgangsnetzwerkes. Dabei kann sowohl eine direkte Verschiebung als
; auch eine indirekte Verschiebung nach links oder rechts
stattfinden. Es werden Teilfelder in einem Vorgang to ■; verschoben und die sich daraus ergebenden Teilergebr; nisse dann zum Endresultat logisch verknüpft Bei dieser :, bekannten Schaltung ist zwar im Prinzip auch eine h rotierende Verschiebung möglich, aber für eine ' byteserielle Verarbeitung wären umständliche Zwi- '5
schenspeicherungen erforderlich, und es ist keine :..: zweckmäßige Verteilung auf MikiOzyklus-Befehle möglich. Der Erfindung liegt demgemäß die Aufgabe zugrunde, eine Schiebe- und Rotierschaltung zu j'; schaffen, die auf zweckmäßige und an Mikrozyklus-Befehle angepaßte Weise byteserielle Schiebe- und Rotieroperationen schnell ausführen kann.
Zur Lösung der Aufgabe geht die Erfindung aus von einer Schiebe- und Rotierschaltung der eingangs genannten Art und ist gekennzeichnet durch einen zweiten Speicher, der die Bytes des Datenwortes in einer zweiten, von der Zahl N abhängigen Byte-Folge aufnimmt, und einen Byte-Prozessor, der aufeinanderfolgende Byte-Paare des Datenwortes aufnimmt, und zwar jeweils ein Byte aus dem ersten Speicher und das andere Byte aus dem zweiten Speicher, und der aus jedem Byte-Paar ein Byte des rotiert verschobenen Datenwortes ableitet.
Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
Bei einem noch im einzelnen zu beschreibenden Ausführungsbeispiel der Erfindung wird ein zu verschiebendes 16-Bit-Wort mit vier Bytes zu je vier Bits zu Anfang Byte für Byte in vier aufeinanderfolgende Adressenstellen eines ersten Speichers eingegeben. *<> Dann wird eine zweistufige Schiebeoperation eingeleitet, indem die vier Bytes (A, 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 x anderen Verschiebungsbeträgen.
Bei der ersten Stufe der Operation wird das ursprüngliche Wort entweder um null, vier, acht oder zwölf Bitpositionen 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, eine oder zwei oder drei Positionen.
Bei der zweiten Stufe der Schiebeoperjlion wird der Inhalt beider Speicher gleichzeitig Byte für Byte M ausgelesen und so an eine Schiebeschaltung gegeben, daß bei jedem Auslesen die Schiebeschaltung gleichzeitig zwei benachbarte Bytes des ursprünglichen 16-Bit-Wortes erhält. Jedes der beiden gleichzeitig empfangenen Bytes kommt von einem anderen der beiden Speicher.
Die Schiebeschaltunp 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öchststelligen 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 gleichzeitig die vier Bits eines Byte aus dem ersten Speicher ·. nd vier Bits eines benachbarten Byte aus dem zweiten Speicher. Die Eingänge der Schiebeschaltung 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öchststelligen 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 'st, im oben beschriebenen Beispiel um zwei Bitpositionen. Die vier verschobenen Bytes können jetzt Byte für Byte aus den. zweiten Speicher gelesen, zu einem 16-Bit-Wort zusammengefügt und an das Eingangs-Ausgangs-System gegeben werden.
Nachfolgend soll die Erfindung anhand eines Ausführungsbeispiels in Verbindung mit den Zeichnungen beschrieben werden. Es zeigt
F i g. 1 eine Fernsprechanlage mit einem Datenverarbeiter, ·
Fig.2und3den Datenverarbeiternach Fig. 1,
Fig.4 und 5 in vereinfachter Form den Aufbau und die gegenseitigen Beziehungen derjenigen Bauteile des Verarbeiters, die eine Schiebe- und Rotieroperation dnrcr/ütsren,
F i g. 6 Einzelheiten des 5/V/?-Registers 215 in F i g. 3, F i g. 7 die Einzelheiten der R 1 - und R 2-Ä£igister 209 in F i g. 3,
F i g. 8 Einzelheiten des L-Registers 216 in F i g. 3,
F i g. 9 Einzelheiten des C/Vf-Speichers 207 in F i g. 3, F i g. 10 Einzelheiten des ΛΛί-Speichers 208 in F i g. 3, F i g. 11 Einzelheiten des TM-Speichers 206 in F i g, 2, Fig. 12 Einzelheiten des Datenregisters 212 it. F i g. 3, Fig. 13 Einzelheiten der SC- und Γ/M-Register 218 und217in Fig. 2,
Fig. 14 Einzelheiten der Quellensammelleitung 1 in F i g. 2 und 3,
Fig. 15 Einzelheiten der Quellensammelleitung 2 in F i g. 2 und 3,
Fig. 16 Einzelheiten der arithmetischen Einheit (AMU) 202 in F ig. 2,
Fig. 17 Einzelheiten der MAC- und MRS-Register 219 und 220 in F ig. 2.
Fig. 18 Einzelheiten des MikroSpeichers 222 in F i g. 2.
Fig. 19 Einzelheiten des Bestimmungsdecoderteils der Decodierlogik 226 in F i g. 2,
F i g. 20 weitere Einzelheiten der Decodierlogik 222 in F i g. 2, ,0
Fig. 21 bis 24 typische Programmbefehle hoher Stufe, die der Verarbeiter ausführen kann, F i g. 25 und 26 typische Mikrospeicherbefehle,
Fig. 27, 28 und 29 den Inhalt der Speicher RM und TM an verschiedenen Punkten typischer Schiebe· und Rotieroperationen, die der Verarbeiter durchführen kann,
Fig. 30 die Wahrheitstabelle für das A ROM- Verarbeiterelement 1602 in F i g. 16.
F i g. 31 ein Zeitdiagramm für die zeitliche Beziehung zwischen den verschiedenen, vom Verarbeiter benutzten Steuerimpulsen,
Fig. 32 in tabellarischer Form die Quellenschaltungen für die verschiedenen, 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ält einen Prozessor 101, der nachfolgend als Verarbeiter bezeichnet wird, 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 Netzwerksteuerung 103 verbunden. Die Anlage enthält außerdem eine Datensammelleitung 110, eine Adressensammelleitung 111. eine Speichersteuersammelleitung 112 und eine Eingabe-Ausgabe-Steuersammelleitung 113. Die Adressensammelleitung und die Datensammelleitung sind gemeinsam mit dem Speicher, dem Verarbeiter und der Netzwerksteuerung verbunden. Die Speichersteuersammelleitung 112 ist nur mit dem Verarbeiter und dem Speicher verbunden. Die Eingabe-Ausgabe-Steuersammelieitung ist nur an den Verarbeiter und das Eingabe-Ausgabe-System angeschlossen, von dem die Netzwerksteuerung 103 ein Teil ist.
Der Verarbeiter 101 arbeitet unier 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 F i g. 1 gezeigte Zeitmultiplex-Koppelfeld 108. Dies geschieht durch Oberwachen des Zustandes jedes Teilnehmerleitungs- und Verbindungsleitungs-Schalters und durch selektives Ändern des Zustandes verschiedener Bauelemente sowohl in der Netzwerksteuerung als auch in den Teilnehmerleitungs- und Verbindungsleitungsschaltem. Befehle werden vom Verarbeiter zur Netzwerksteuerung über die Datensammelleitung 110 übertragen. Abtastantworten und andere Zustandsinformationen werden von der Netzwerksteuemng zurück zum Verarbeiter über die Datensammelleitung 110 gegeben. Die Netzwerksteuerung wird durch die Adressensammelleitung 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 Zeitmultiplex· schalter in den beiden Schaltungen bei jedem Auftreten der Zeitlage geschlossen werden. Ein Teilnehmerleitungsschalter, beispielsweise 105-0, wrd 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. Aul 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, nicht schließt.
Der Vorarbeiter kann selektiv Speicherplätze dadurch adressieren, daß er über die Sammelleitung 111 Adresseninformationen zum Speicher überträgt. Der Inhalt der adressierten Speicherstelle wird über die Datensammelleitung 110 zum Verarbeiter zurückgegeben. Der Verarbeiter verkehrt mit der Netzwerksteuerung auf entsprechende Weise durch Übertragung von Adressenbefehlen über die Sammelleitung 111, wobei Antworten der Anlage über die Sammelleitung 110 zurückgegeben werden. Die Steuersammelleitungen 112 und 113 umfassen eine Vielzahl getrennter Adern, die je für eine besondere Funktion benutzt werden, beispielsweise Einschreiben in den Speicher, Lesen aus dem Speicher und Angaben für die Vervollständigung des Speichers. Die verschiedenen Adern der Sammelleitung 113 erfüllen ähnliche Funktionen. Die Sammelleitungen 110, 111 und 113 führen außerdem zu weiteren Eingabe-Ausgabe-Geräten, beispielsweise Datenverbindungen und ähnlichem.
Fig. 2 und 3 zeigen einen mikroprogrammierten Verarbeiter. Er enthält eine arithmetische Einheit AMU 202. eine Quellensammelleitung 1 (Element 203) und eine Quellensammelleitung 2 (Element 204). Die Quellensammelleitungen geben an die arithmetische Einheit diejenigen Informationen, die arithmetischen oder logischen Operationen zu unterwerfen sind. Der Verarbeiter enthält außerdem eine Bestimmungssammelleitung 205, die die Ausgangsinformationen der arithmetischen Einheit aufnimmt
Der Verarbeiter enthält darüber hinaus einen TM-Speicher 206 mit wahlfreiem Zugriff, einen CM-Festwertspeicher 207 (Nurlesespeicher) und einen ÄM-Speicher 208 mit wahlfreiem Zugriff. Die Ausgangssignale des TM-Speichers werden über die Leitung 249 und den Sammelleitungs-Multiplexer 204-M zur Quellensammelleitung 2 gegeben. Die Ausgangssignale der Speicher CMund RMwerden über die Wege 250,251 und den Sammelleitungs-Multiplexer 203-M zur Quellensammelleitung 1 übertragen. Die Bestimmungssammeiieitung 205 kann die ihr von der arithmetischen Einheit zugeführte Information selektiv zum TM-Speicher 206, zum SC-Register 218, zum
77M-Register 217, zum /.-Register 216, zum RM-Spe'icher 208, zum Datenregister 212 sowie zum 5-4W-Register 215 geben. Das Register SC speichert die beiden niedrigststelligen Bits der Schiebe- und Rotierinformation. — Die Register TPA und L speichern die Adresseninformationen für die Speicher TM, CM und RM.
Der vcrarbeiter 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 UO erhält, können alternativ über den Multiplexer 221 in das Datenregister 212, die R 1- und /?2-Register 209 oder das MAC-Register 220 eingegeben werden. Der Verarbeiter überträgt Adresseninformationen an die Adressensammelleitung 111 (Fig.3) über das SA«-Register 215 und den Weg 229. Das S,4Ä-Register nimmt diese Adresseninformation von der arithmetischen Einheit über die Bestimmungssammelleitung 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 Zeitsfuerungsgenerator 225. Die Decodierlogik 226 umfallt eine Vielzahl von Decodierern, die das Ausgangssignal des Mikrospeichers 222 aufnehmen und decodieren, um die Gattersignale, 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-Register, durch den Mikrospeicher 222 oder die Sammelleitung 210 geladen werden. Die vom Mikrospeicher 222 ankommende Information schaltet das MA C- Register auf eine neue Adresse von einem Abzweigbefehl des Mikrospeichers 222. Die über die Sammelleitung oder den Weg 210 ankommende Information kann das M4C-Register auf jede Adressenposition einstellen. Das Λ/ÄS-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 Ausführung dieser Befehle erforderlich sind.
Die Steuerflipflops 228 enthalten eine Vielzahl von Flipflops, die durch Signale einstellbar sind, welche von der Decodieriogik 226 sowie von den Sammelleitungen 112 und 113 ankommen. Nach Einstellung durch die Decodierlogik geben diese Flipflops dann Steuersignale, beispielsweise Lese- oder Schreibkommandos, an die Sammelleitungen 112 und 113. Bei Einstellung aufgrund von Signalen, die über die Sammelleitungen 112 und 113 ankommen, speichern die Flipflops Informationen und machen sie für den Verarbeiter verfügbar, wodurch angezeigt wird, daß ein Speicherkommando oder eine Eingabe-Ausgabe-Funktion durchgeführt worden ist.
Es sei beispielsweise und zur Erläuterung angenommen, daß die Datensammelleitung 110 und die Adressensammelleitung 111 16-Bit-Parallelsammelleitungen sind. Demgemäß tauscht der Verarbeiter Daten und Informationen mit dem Speicher und den Eingabe-Ausgabe-Systemen über die Sammelleitungen 110 und 111 mit Hilfe von 16-Bit-Wörtern aus. Der Verarbeiter behandelt intern die ihm über die Sammelleitung 110 zugeführten 16-Bit-Wörter durch eine Unterteilung in vier 4-Bit-Bytes und bewegt dann jedes Wort, manipuliert es und führt logische und arithmetische Operationen mit ihm Byte für Byte durch.
M Mit Ausnahme der für den iviikroprogramm-Äbschnin des Verarbeiters und die Decodierlogik erforderlichen Informationen werden alle Informationen innerhalb des Verarbeiters über die Quellensammelleitung 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-Ausgabe-Gerä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 werden. Von dort werden die Informationen als 16-Bit-Wörter auf die Sammelleitung 110 gegeben. Auf entsprechende Weise werden alle Informationen, die das Datenregister 212 vom Speichersystem oder dem Eingabe-Ausgabe-System ü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 byteseriell übertragen.
Die internen Datensammelleitungen sind die Quellensammelleitung 1, die Quellensammelleitung 2 und die Bestimmungssammelleitung 205. Ein 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 Bestimmungssammelleitur.g 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 16-Bit-Format umgewandelt und dann als Adresseninformation auf die Adressensammelleitung 111 übertragen, oder 3) in das Datenregister 212 eingegeben, wo es in das 16-Bit-Format umgesetzt und dann als Datenwort über den Weg 210 zur Sammelleitung 110 übertragen 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 1 oder 2
und dann zur arithmetischen Einheit 202 übertragen. Die vier letztstelligen Bits (Byte 0) werden zuerst auf die Quellensammelleitung gegeben, durch die arithmetische Einheit verarbeitet und dann auf die Bestimmungssammclleitung 205 übertragen. Von dort kann dieses Byte dann in irgendeine Schaltung gegeben werden, die mit der Sammelleitung 205 verbunden ist, beispielsweise in das SAR-Register. Diese Operation kann dann dreimal wiederholt werden, um das gesamte 16-Bit-Wort aus dem Datenregister 212 zu lesen und in geänderter Form in das 5-4/?-Register zu übertragen.
Die Zeit, die der Verarbeiter zur byteseriellen Verarbeitung eines I6-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-Regisier. Während der Lade-uriierphase 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 Bestimmungsschaltung übertragen, beispielsweise das 5/4/?-Register 215, das Datenregister 212, den KM-Speicher 208 oder den TM-Speicher 206.
Der /?M-Speicher ist ein kleiner bipolarer Speicher (64x4) und stellt einen Systemprogrammierer mit sechzehn Allzweckregistern dar. Die R 1- und ^-Eingänge dieses Speichers sind fest mit den Ausgängen der R \-R 2-Register 209 verbunden und ermöglichen die schnelle Adressierung des Speichers mit Informationen, die über die Sammelleitung 110 ankommen und in das R i-R 2-Register eingegeben werden. Der Adresseneingang 256 des ΛΜ-Speichers liefert nur die Anfangsadresse eines 16-Bit-Wortes, das in Form von 4-Bit-Bytes gespeichert ist. Die einzelnen Bytes dieses Wortes werden unter Steuerung der Phaseninformation adressiert, die vom Zeitsteuerungsgenerator ankommt.
Der CM-Speicher ist ein bipolarer Festwertspeicher (ROM) mit einer Kapazität von 256x4 Bits. Dieser Speicher iiefert Konstanten zur Verwendung durch das Mikroprogramm. Eine häufig benutzte Konstante ist beispielsweise ein 16-Bit-Wort, das Byte für Byte gespeichert ist und nur 0-Werte enthält. Das L-Register wird für Adressierzwecke benutzt und ist ein 6-Bit-Register, das entweder von der Bestimmungssammelleitung über den Weg 240 oder mit einem Mikrobefehl über den Weg 258 geladen werden kann. Das /.-Register wird vom Mikroprogramm für Index-Operationen verwendet
Der TM-Speicher ist ein bipolarer Speicher mit beliebigem Zugriff (RAM), 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 dsr Verarbeiter veranlassen, daß Informationen an eine der oder beide Quellenstirnmelleitungen von irgendeiner gewählten Schaltung aus angelegt werden, deren Ausgang mit diesen Sammelleitungen verbunden >st. 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 Bestimmungssammelleitung verbunden ist.
ίο Die Möglichkeiten des Verarbeiters lassen sich besser anhand der Beschreibung einiger weniger typischer Operationen verstehen. F i g. 21 zeigt einen Maschinenbefehl, mit dem der Inhalt eines Wortes /?2 des /?M-Speichers 208 zum Inhalt des Wortes R 1 addiert und das Ergebnis im Wort R 1 gespeichert wird. Die Wörter R 1 und R 2 sind nicht das erste und zweite Wort des ΛΜ-Speichers. Ihre Adresse wird durch den Inhalt der R 1- und /?2-Felder des Befehls angegeben. Das R 2-FeId umfaßt die Bits 0 bis 3 und das R 1-Feld die Bits 4 bis 7. Der öperationscode für diesen Befehl isi 03 unu ist in den Bits 8 bis 14 des Feldes gespeichert. Die Funktion des ß/4-Feldes ist nicht wichtig für die vorliegende Erläuterung.
Den Befehl gemäß Fig. 21 nimmt der Verarbeiter vom Speichersystem 102 über die Datensammelleitung HO und den Weg 210 auf. Die am weitesten rechts stehenden acht Bits dieses Befehls, nämlich die R 1- und /?2-Felder werden in die R\- und /?2-Register 209 eingegeben. Die Operationscodebits laufen über den
JO Weg 210 zum mittleren Eingang des Multiplexers 221 und dann *.um M4C-Register 220, wo eine binäre 03 in das Register eingegeben wird. Diese beinäre 03 gibt die Anfangsadresse der Mikrospeicherbefehle an, die zur Steuerung der Decodierlogik 226 und des Zeitsteuemngsgenerators 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 und wird Bewegungsbefehl (MOV) genannt. Für diesen Befehl ist der KM-Speicher die Quellenschaltung und der TM-Speicher die Bestimmungsschaltung. Es wird jetzt unter Steuerung des Befehls gemäß F i g. 26 das Wort R 2 im RM-^peicher an die Quellensammelleitung 1 gegeben, über die arithmetische Einheit geführt und in diejenige Adressenstelle des TW-Speichers eingegeben, die das DES-FeId in F i g. 26 angibt.
Danach wird das AMC-Register um eine Position weitergeschaltet und auf einen arithmetischen Befehl der in F i g. 25 gezeigten Art gebracht Bei diesem
so Befehl gibt der TM-Speicher das Wort R 2 auf die Quellensammelleitung 2, der /?M-Speicher legt das Wort ßl an die Quellensammelleitung 1 an, und die arithmetische Einheit addiert die beiden Wörter und gibt die Summe in das Wort R 1 des ΛΜ-Speichers. Für diese Operation ist der 7?M-Speicher die durch das 51-Feld angegebene Quellenschaltung, der TM-Speicher ist die durch das 5 2-Feld angegebene Quellenschaltung und der ÄM-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 ß2 im TM-Speicher Byte für Byte an die Quellensammelleitung 2 angelegt und das Wort R I aus acrn ÄAi-Speicher v/ird Byte für Byte an die Quellensammelleitung 1 gegeben. Die arithmetische Einheit bestimmt die Summe für jedes Paar von Bytes,
das ü'uer die beiden Quellensammelleitungan ankommt, und gibt die Summe auf die Bestimmungssammelleitung. Von dort wird jedes von der arithmetischen Einheit kommende Byte in das R 1-Wort des ΛΜ-Speichers gegeben, da der /JM-Speicher die durch das DES-FeId in der arithmetischen Anordnung gemäß F i g. 25 angegebene Bestimmungsschaltung ist.
Eine weitere Art von Befehl, die die Anlage ausführen kann, ist in Fig. 22 angegeben. Dabei wird ein angegebenes Binärwort I zum Inhalt des Wortes R 1 des )0 /?M-Speichers addiert und das Ergebnis in das Wort R 1 gegeben. Wie in Fig. 22 angegeben, benötigt diese Operation zwei Befehlswörter. Beim ersten V/ort wird der inhalt des R 1-Feldes von der Datensammelleitung 110 aufgenommen und in das R 1-Register 209 gegeben. Die Information wird dann über den Weg 253 als Adressierinformation zum ΛΜ-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 ?,21 in das M,4C-Register 220 eingegeben, um den Mikrospeicher auf die richtige Adresse weiterzuschalten. Diese Adresseninformation bringt den Mikrospeicher 222 auf einen Bewegungsbefehl der in Fig. 26 dargestellten Art, bei dem das R 1-Wort des ftM-Speichers an die Quellensammelleitung 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 Verarbeiter aufgenommen. Das gesamte Wort stellt die Binärzahl dar, die zum augenblicklichen Inhalt von R 1 zu addieren und dann in R 1 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 jeder Phase auf die Quellensammelleitung 1 übertragen, während gleichzeitig das Wort R 1 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 R 1 des /?M-Speichers eingegeben.
Wie bereits erwähnt, ist der CM-Speicher 207 ein Festwertspeicher, der nur Konstanten speichert. Er kann bei Operationen ähnlich den gerade beschriebenen Operationen verwendet werden. Beispielsweise kann ein Befehl verlangen, daß ein bestimmtes Wort des QVf-Speichers zu einem bestimmten Wort des RM-Speichers addiert und die Summe im gleichen oder einem anderen Wort des ftM-Speichers aufgenommen oder alternativ auf entweder die Datensammelleitung 110 oder die Adressensammelleitung 111 gegeben wird. Ein Befehl dieser Art wird durch Operationen ausgeführt, die den eben beschriebenen Operationen analog sind.
F i g. 23 zeigt einen Maschinenbefehl hoher Stufe, der in Verbindung mit den Schiebe- und Rotiermöglichkeiten des Verarbeiters benutzt wird. Eine 11 im Operationscodefeld identifiziert den Befehl und gibt an, daß ein Wort R1, dessen Adresse im /?M-Speicher durch das R t-Feid bezeichnet wird, um eine Anzahl von Bitpositionen zu verschieben ist, die durch das JV-FeId bezeichnet wird. Dieser Befehl kommt über die Datensammelleitung 110 an und wird dem Verarbeite über den Weg 210 zugeführt, wobei die Bits des Operationscode durch den Multiplexer 221 in das /VMC-Register 220 gegeben werden. Die am weitesten rechts stehenden acht Bits, nämlich das R 1- und /V-FeId, werden in die R 1-und R 2- Register 209 einjegsben.
Der vorgenannte Befehl erfordert die Ausführung von zwei Mikrospeicherbefehlen. Der erste Mikrobefehl gibt den Inhalt des R 2-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 T/M-Register 218 und 217 übertragen. Der Inhalt dieser Register stellt dann zusammen die angegebene Anzahl von Bitpositionen dar, um die das R 1-Wort zu verschieben ist. Beim nächsten Mikrobefehl adressiert der Inhalt des R !-Registers 209 den ΛΜ-Speicher 208 derart, daß er den Inhalt des Ri-Wortes an die Quellensammelleitung 1 anlegt, über die es zur arithmetischen Einheit übertragen wird. Diese schreibt die Information Byte tür Byte in einer besonders geordneten Folge in den TM-Speicher. Die besonders geordnete Folge wird durch die im T/M-Register 217 gespeicherte Schiebeinformation definiert. Das ursprüngliche R 1-Wort bleibt weiter im /?M-Speicher. Danach wird das ursprüngliche R 1-Wort aus dem R 1-Abschnitt des ÄM-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 eingeschrieben, wobei die verschobene Form durch den augenblicklichen Inhalt des 5C-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.
F i g. 24 zeigt eine etwas andere Art eines Soiebebefehls. Bei diesem Befehl wird der Inhalt des R 1-Wortes nach rechts um einen Betrag verschoben, den die unteren vier Bits des R 2-Wortes im /?M-Speicher angeben. Der Verarbeiter nimmt diesen Befehl über die Datensammelleitung 110 auf, gibt den Operationscode 13 über den Multiplexer 221 in das AMC-Register 220 und lädt die Bits R1 und R 2 in das Ri- und /?2-Register 209. Danach wird der Inhalt des ^-Registers als Adressierinformation an den /?M-Speicher übertragen, der den Inhalt seines R 2-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 ΤΡΛ-Registern zugeführt wo sie die Anzahl von Bitpositionen angeben, um die das R 1-Wort zu verschieben ist. Danach wird auf ähnliche Weise, wie bereits für die Schiebe- und Rotierfunktion gemäß Fig.23 beschrieben, der Inhalt des R 1-Wortes aus dem /?M-Speicher an die Quellensammeiieitung i gegeben und über die arithmetische Einheit in veränderter Folge in den TM-Speicher geschrieben. Das /?2-Wort im /?M-Speicher und das
Λ 2-Wort mit der geänderten Folge aus dein 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.
Fig.4 zeigt die Eilemente des Verarbeiters in einer Anordnung, die das Verständnis der Schiebe- und Rotierschaltung erleichtert. Viele der Bauteile in F i g. 4 sind auch in den F i g. 2 oder 3 dargestellt und tragen die gleichen Bezugszeichen. Beispielsweise enthält F i g. 4 den Zeitsteuerungsgenerator 225, den WM-Speicher 208, den TM-Speicher 206. das TR4-Register 217, das SC-Register 218, die Quellensammelleitungen 1 und 2, die Bestimmungssammelleitung 205 und die arithmetische Einhei· 202. Einige dieser Bauteile sind in F i g. 4 genauer als in den F i g. 2 und 3 gezeigt, um das Verständnis für die Einzelheiten der Schiebe- und Rotieroperation zu vereinfachen.
Es sei anhand der obigen Erläuterungen der F i g. 2 und 3 daran erinnert, daß eine Schiebe- und Rotieroperation durchgeführt wird, indem das zu verschiebende Wort in den WM-Speicher eingegeben wird. Informationen in die SC- und T/M-Register 218, 217 gegeben werden, die die Anzahl von Bitpositionen angeben, um die das Wort im WM-S^eicher zu verschieben ist. das Wort aus dem WM-Speicher gelesen und in den TM Speicher in einer Byte-Folge eingeschrieben wird, die durch die Schiebeinformation im T/M-Register bestimmt wird, die RM- und TM-Speicher gleichzeitig Byte für Byte ausgelesen und gleichzeitig gelesenen Bytes ü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 WM und TM und Widereinschreiben 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 WM-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-Ausgabe-System ausgegeben werden, und zwar entweder über das Datenregister 212 oder das S4/?-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 aufeinanderfolgenden Bytestellen des /?M-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öricni oder vierundsechzig Bytes haben kann. (ig. 27 /cigt den WM-Speicher mit den Bytes A, I]. C. Din den Spcichersicllcn 0.1, 2. 3.
Vor Beginn der Schicbcoperation werden vier Bits, die die Anzahl von Bitpositionen angeben, um die das Wort im WM-Speicher zu verschieben ist, entweder
durch das W2-Register an die Quellerisammelleitung 2 (für einen Befehl gemäß F i g. 23) oder durch den WM-Speicher an die Quellensammelleitung 1 (für einen Befehl gemäß F i g. 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öchststelligen Bits der vier Bits in komplementärer Form in das T/M-Register 217. Für eine Verschiebung um vier (01, 00) Bitpositionen wird eine binäre Null (00) in das SC-Register und eine binäre Zwei (10) in das TPA- Register geschrieben. Das Ladesignal 403 gibt diese Schiebeinformation von der Bestimmungssammelleitung in das T/M-Register 217 und das SC-Register 218.
Das zu verschiebende Wort im /?M-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 WM-Speichers. Die Ader 256 stellt die vier höchststelligen 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 niedrigsteUigen Bits der Adresseninformation und bringen nachfolgend die Leseschaltungen auf die Bytes 0.1,2,3 in dieser Reihenfolge.
Die DES-Leitung 260 liefert die drei höchststelligen 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 WM-Speichers wird ausgelesen und in die Speicherstelle 2 des TM-Speichers eingeschrieben, da das ΤΡΛ-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 Schiebeinformation (01, 00) eingestellt worden. Dieses Byte wird aus dem WM-Speicher ausgelesen und unter Steuerung des Ladeimpulses für die Phase 0 im Zeitdiagramm gemäß F i g. 31 an die Quellensammelleitung 1 gegeben. Das Byte wird dann über die ALU-Einheit 420 der arithmetischen Einheit 202 und über den Wähler 402 an die Bestimmungssammelleitung 205 übertragen. Von dort wird sie zum Taktzeitpunkl der Phase 0 in den TM-Speicher gegeben. Det Taktimpuls ist in Fig.4 auf der vom Zeitsteuerungsgenerator 225 kommenden Leitung 401 gezeigt. Dei Impuls läuft über das ODER-Gatter 405 und schaltet da« T/M-Register 421 um eine Position weiter. Für der vorliegenden Fall wird das Register 4?.l von dei Position 2 auf die Position 3 geschaltet.
Die Byte-Adresse auf der Leitung 404 für der /?M-Speicher ändert sich von binär 0 auf I, nachdem da: Byte 0 aus dem WM-Speicher gelesen und in die Positiot 2 des TM-Speichers eingeschrieben ist. Die Adressenin formation auf der Leitung 256 bleibt während de gesamten Schiebe- und Rötieroperation fest. Danacl wird das Byte 1 aus dem /?M-Speicher gelesen und übe die ALU-Einheit 420 und den Wähler 402 an dl· Bestimmungssammelleitung 205 übertragen. Von dor wird sie in die Position 3 des TM-Speichers cingegeber
Unter Hinweis auf das Zeitdiagramm in F i g. 3 finden die gerade für das Byte B beschriebene Operationen derart statt, daß das Byte H aus der WM-Speicher während der Ladeimpuls/.cit für die Phas
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 Taklimpulses 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 ÄM-Speicher zu lesen und in die Position 0 des TW-Speichers einzuschreiben. Danach wird die Byte-Adresse auf der Leitung 404 auf 3 und das TPA-Regiister auf die Position 1 weitergeschaltet sowie das Byte D des Wortes aus dem ΛΜ-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 2.
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.QD'.n den Speicherstellen 0 bis 3 des /?M-Speichers in die Speicherstelle 0 bis 3 des TM-Speichers in der Byte-Reihenfolge C, D, A, B für die Positionen 0,1, 2, 3 eingegeben worden sind.
Danach wird das T/M-Register um 1 erhöht und von seiner Position 2 auf die Position 3 gebracht. Dies geschieht durch das ODER-Glied 405 und das UND-Glied 406. Der AROM-Speicher 407 der arithmetischen Einheit bringt die Ader zu diesem Zeitpunkt auf H. Die Ader führt zu einem Eingang des UND-Gliedes 406. Gleichzeitig wird die Ader 408 durch den Decodier-Logikabschnitt des Verarbeiters auf H gebracht. Wenn beide Eingänge des UND-Gliedes 406 auf H sind, führt es ein Signal über das ODER-Glied 405, das das T/M-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 Schritt der Schaltungsoperationen dar, die der Verarbeiter zur Durchführung einer Schiebeoperation ausführen muß. Der zweite und letzte Schritt wird nachfolgend unter Bezugnahme auf Fig.5 beschrieben, die die Schaltungseinzelheiten der Schiebeschaltung 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 Bestimmungssammelleitung 205 verbinden, und die Leitung 239, die den Ausgang des 5C-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 ΛΜ-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, I, 2 oder 3 Bitpositionen zu verschieben.
Die im 5C-Register 218 gespeicherte Information bestimmt die Artzahl von Bitpositionen, um die die ankommende Information zu verschieben ist. Wenn beispielsweise binär 00 im SC-Register gespeichert ist,
wird der Eingang O jedes Multiplexers über die Leitung 239 aktiviert, und nur die vier Bits, die vom ÄM-Speicher an die Schiebeschaltung angelegt sind, werden über die Multiplexer geführt und über deren Ausgangsleitungen an die Sammelleitung 205 angelegt. Wenn binär Ol im SC-Register ist, wird der Eingang 1 jedes Multiplexers aktiviert Dann werden die drei am weitesten links stehenden Bits des ÄM-Speichers zusammen mit dem Bit O des TM-Speichers über die Multiplexer geführt und über deren Ausgangsleitungen 505- an die Bestimmungssammelleitung 205 angelegt Wenn binär 10 im SC-Register ist wird der Eingang 2 jedes Multiplexers aktiviert Es werden dann die beiden am weitesten links stehenden Bits des ÄM-Speichers und die beiden am weitesten rechts stehenden Bits des TM-Speichers über die Schiebeschaltung auf die Bestimmungssammelleitung übertragen. Wenn binär 11 im SC-Register steht wird das am weitesten links stehende Bit des ÄM-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 worden, daß für eine angegebene Verschiebung um vier Bitpositionen das SC-Register die Binärziffern 00 enthält, die die beiden niedrigststelligen Ziffern für binär 4 (01 00) darstellen. Die Ziffern 00 im SC-Register aktivieren den Eingang 0 der Multiplexer, und die Schiebeschaltung 501 gibt an die Sammelleitung 205 nur die vier Bits jedes vom ÄM-Speicher ankommenden Bytes.
In Verbindung mit F i g. 4 und F i g. 27 ist beschrieben worden, wie die Bytes A, B, C, D in den Positionen 0,1,2, 3 des ÄM-Speichers in die Positionen 0, 1, 2, 3 des TM-Speichers in der Bytefolge C, D, A, B eingeschrieben werden. Damit ist nur der erste Schritt der für eine 4-Bit-Verschiebung erforderlichen Operation beendet. Der zweite Schritt dieser Operation wird nachfolgend im einzelnen erläutert
Das TPA-Register befindet sich, 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 Weise weitcrgeschaltet, und während jeder Unterphase des Zyklus wird ein Byte aus dem ÄM-Speicher gelesen und in den TM-Speicher geschrieben.
Das Byte A im /?M-Speicher wird zuerst ausgelesen und in die Position 3 des TM-Speichers geschrieben. Dann wird das Byte S gelesen und in die Position 0 des TM-Speichers eingegeben. Anschließend werden die Bytes Cund Dgelesen und in die Positionen I und 2 des TM-Speichers geschrieben. Dann ist die 4-Bit-Schiebeoperation beendet, da die Bytes A, B, C, D des aus dem ÄM-Speicher zu schiebenden Wortes jetzt irn TM-Speicher in der Bytefolge B, C, D, A gespeichert sind. Der Inhalt der beiden Speicher zu diesem Zeitpunkt ist in Fig. 28 dargestellt. Der Inhalt des TM-Speichers gemäß Fi g. 28 stellt eine 4-Bit-Verschiebung des Inhaltes des ÄM-Speichers gemäß F i g. 27 dar.
Anschließend wird eine ti-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-Bit-Verschiebung beschriebenen Operationen bis zu und einschließlich der
Übertragung der Bytes aus dem ΛΛί-Speicher in die Positionen 0,1,2,3 des ΓΜ-Speichers in der Reihenfolge C, D, A, B entsprechend der Darstellung in F i g. 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 502-. Dadurch spricht die Schiebeschaltung 501 während jeder Leseoperation auf die beiden am weitesten links stehenden Bits des /?M-Speichers und die beiden am weitesten rechts stehenden Bits des ΓΜ-Speichers an. Dies bewirkt eine Verschiebung um zwei Bitpositionen. Während der ersten Phase der Leseoperation aus beiden Speichern, die jetzt entsprechend der Darstellung in Fig.27 angeordnet sind, werden die beiden am weitesten links stehenden Bits des Byte A aus dem ΛΜ-Speicher und die beiden am weitesten rechts stehenden Bits des Byte ß aus dem TM-Speicher empfangen und über die Schiebeschaltung übertragen. Die Steuerinformation für den RM-Spelcher beim ersten Byte ist 00 und kommt vom Taktgeber 225A über die Läitung 404. Das T/M-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 Al und A3 bezeichnet sind) und die beiden am weitesten rechts stehend in Bits (BO und B 1) des Byte B aus dem TM-Speicher und gibt sie zu ihrem Ausgang. Die vier Bits werden jetzt in die Position 3 des ΓΜ-Speichers in der in Fig.29 gezeigten Reihenfolge eingeschrieben. Die Adresseninformation für die Speicher RM und TM wird um eine Position weitergeschaltet, und die Schiebeschaliung erhält die beiden am weitesten links stehenden Bits (B2 und S3) des nächsten Byte vom ΛΜ-Speicher vxJ die beiden am weitesten rechts stehenden Bits (C0 und Cl) vom TM-Speicher und gibt sie an ihren Ausgang. Die Bits werden in die Position 0 des ΓΜ-Speichers eingeschrieben.
Die Adresseninformation für die Speicher RM und TM wird wiederum um eine Position weitergeschaltet, und die Schiebcschaltung erhält die beiden am weitesten links stehenden Bits des Byte C vom /?M-Speicher und die beiden am weitesten rechts stehenden Bits des Byte D vom TM-Speicher. Die Bits werden in die Position 1 des TM-Speichers eingeschrieben. Die Adressierschaltungen für die Speicher werden erneut um eine Position weitergeschaltet, und die Schiebeschaltung erhält die beiden am weitesten links stehenden Bits des Byte D vom /?M-Speicher und die beiden am 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. F i g. 29 zeigt das 4-Byte-Wort des /?M-Speichers um sechs Bitpositionen verschoben.
Die vorstehende Beschreibung hat die Operationen der Schiebeschaltung für Schiebegrößen 4 bzw. 6 erläutert. Mit Hilfe ähnlicher Operationen können andere Schiebebeträge durch ähnliche Operationen mit zwei Schritten durchgeführt werden. Beim ersten Schritt jeder solchen Schiebeoperation wird der WM-Speicher Byte für Byte ausgelesen und das Ergebnis in den TM-Speicher in einer Reihenfolge gegeben, die durch das Komplement der beiden am weitesten links stehenden Bits der Schiebeinformation bestimmt wird, b5 die im TPA-Register gespeichert ist. Beim zweiten Openitionsschritt 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 ΛΜ-Speicher, verschoben um die erforderliche Anzahl von Bitpositionen, darstellt.
Das S/4/?-Register 215 in F i g. 3 ist in F i g. 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 &4/?-Register enthält vier 4-Bit-Schieberegister, beispielsweise integrierte Schaltungen vom Typ SN 7496. Die Register sind unter Bildung enes Speichers vom Typ 4x4 angeordnet, der in F i g. 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 111 gegeben. Das UND-Glied 602 steuert die Einführung von Informationen von der Sammelleitung 201 in das Register 601. Das Signa! EWSAR auf der Leitung 604 wird auf 1 gebracht, um anzugeben, daß das &4/?-Register der Bestimmungsort für die durch die arithmetische Einheit 202 auf die Sammelleitung 205 übertragene Information ist. Die Taktleitung 603 führt die in Fig.31 angegebenen Taktsignale und ermöglicht die Eingabe der sequentiell an die Bestimmungssammelleitung 205 angelegten Bytes in das Register 601. Das Signal EWSAR wird durch die Decodierlcgikelemente 226 in F i g. 2 geliefert. Das Taktsignal wird vom Zeitsteuerungsgenerator 225 zugeführt. Dies ist in Fig.32 für das Register SAR sowie für alle anderen Schaltungen dargestellt.
Die R 1- und R 2-Register 209 in F i g. 3 sind in F i g. 7 genauer gezeigt. Sie nehmen die niedrigststelligen acht Bits der vom Verarbeiter über die Datensammelleitung 110 ankommenden Befehlswörter auf und speichern sie zeitweilig. Die am weitesten links, stehenden acht Bits werden durch weitere Bauteile izs Verarbeiters aufgenommen und gespeichert, zu denen der MAC-Zähler 220 gehört, der die sieben Bits des Operationscode Gespeichert.
Die R 1- und /?2-Register enthalten zwei 4-Bit-Register, die zusammen als Bauteil 702 in F i g. 7 bezeichnet sind. Die acht Informationsbits, die die Datensammelleitung 110 über den Weg 210 den Registern R 1 und R 2 zuführt, werden unter Steuerung eines Signals LDOP auf der Leitung 703 in die Register eingeführt. Dieses Signal kommt vom Zeitsteuerungsgenerator 225 in F i g. 2 und wird erzeugt, nachdem das Speichersystem 102 mit einem Speichervollständigsignal auf einer bestimmten Ader der Speichersteuersammelleitung 112 geantwortet hat.
Die Ausgänge der R^- und /?2-Register sind außerdem über Wege 253 und 254 mit der Adressensteuerschaltung des /?M-Speichers 208 verbunden. Diese Verbindungen geben die Möglichkeit, daß der Inhalt der Rl- und /?2-Registe- direkt für Adressierzwecke zum /?M-Speicher übertragen wird.
Der Multiplexer 701 wandelt die acht Bits in den R 1- und W2-Registern in zwei 4-Bit-Bytes um. Dies erfolgt unter Steuerung des Signals PHO in Fig. 31, das das niedrigststellige Bit der vom Zeitsteuerungsgenerator erzeugten codierten Phaseninformation ist. Diese Information kommt über die Leitung 704 an. Wenn das PWO-Signal auf H ist, wird der Inhalt des R !-Registers über den Multiplexer zu den Qucllensammclleitungen
übertragen. Wenn das WO-Signal auf L ist, so wird der Inhalt des /?2-Registers durch den Multiplexer an die Quellensammelleitungen angelegt Das Bauteil 701 kann eine integrierte Schaltung vom Typ SN 74 157 sein, Die Register 702 können zwei integrierte Schaltungen SN 7495 sein. Das L-Register 216 in F i g, 3 ist in F i g. 8 genauer dargestellt Dieses Register hat die Funktion, die Adressierinformation für den CM- und ÄA/-Speicher zu liefern. Das L-Register enthält ein Register 801, einen Multiplexer 802 und eine Schreiblogik 803. Das Register [0 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 EMITaer Decodierlogik 226 über den Weg 258 geladen werden. Wenn das Register 801 vom Feld EMIT ausgeladen wird, so werden alle sechs Bits des Registers aufgefüllt. Wenn jedoch das Register während des Bytes 0 von der Bestimmungssammelleitung aus geladen wird, werden nur die niedrigstelligen vier Bits eingegeben, und die beiden höchststelligen Bits, die sich bereits im Register befinden, werden nicht gestört. Das L-Register weist zwei integrierte Schaltungen, beispielsweise vom Typ SN 7475 und SN 74 298 auf. Nur eine Hälfte der Schaltung SN 7475 wird für die beiden höchsutelligen Bits benutzt und nur die beiden höchststelligen Bits der ΕΛί/Γ-Felder stellen Dateneingangssignale für die Schaliung SN 7475 dar. Die vier niedrigstelligen Bits werden in der Schaltung SN 74 298 gespeichert, die den Multiplexer 802 enthält.
Wenn das 6-Bit-Feld EMIT in das Register 801 eingegeben werden soll, so erzeugt die Decodierlogik 226 in F i g. 2 das Signal LDL 1 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 LDL 1 tritt zu dem für den Steuerimpuls CTLPLS im Zeitdiagramm in F i g. 28 gezeigten Zeitpunkt auf.
Wenn die Information auf der Bestimmungssammelleitung 205 in die niedrigstelligen vier Bits des Registers (n 801 einzuscnreiben ist, so erzeugt die Decodierlogik während der Phase 0 das Signal WRL 1, 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 F i g. 2 und 3 gezeigten Speichern CMund RM.
Das logische Bauteil 803 enthält die logischen Verknüpfungsglieder, a\r. zum Anlegen eines Signals an -)0 den Weg 804 beim Eintreffen entweder eines WRL 1- oder eines LDL 1-Signals erforderlich sind. Das Signal führt die Ausgangsinformation vom Multiplexer 802 in das Register 891. Die Logikschaltung 803 legt außerdem das erforderliche Potential bei Empfang eines Signals LDL 1 oder WRL 1 an die Leitung 805.
Der CM-Speicher 207 in F i g. 3 ist genauer in F i g. 9 gezeigt. Es handelt sich um einen 256x4-Festwertspeicher, der zweckmäßig ein Harris-Ha'bleiterspeicher vom Typ HPROM-1024 sein kann. Der CVW-Speicher b0 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 b-, bestimmte Speiche.stelle 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 Phaseninformation 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 /?M-Speicher 208 in F i g. 3 ist genauer in F i g. 10 veranschaulicht. Der 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 ΛΜ-Speicher enthält außerdem Registereingangsschaltungen 1002, Registerausgangsschaltungen 1003, ein UND-Glied 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 64x4-Bit-Speicher organisiert Die Adressierinformation für diese Speicheranordnung wird über We.i 1008 und 1007 geliefert. Der Weg 1OO8 nimmt das Aus^angssigna! des Multiplexers 1005 auf, der 4 :1-Multiplexer vom Typ SN 74153 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-Bit-Wörter bereit, die jeweils vier4-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 die Byteinformation vom Zeitsteuerungsgenerator 225 erhält. Die auf den Weg 1008 gegebene Information wird vom Multiplexer 1005 entweder über den Weg 256 vom L-Register. über den Weg 254 vom R 2-Register oder über den Weg 253 vom R 1-Register aufgenommen. Zwei Informationbsbits 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 Mutiplexers 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 S 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 (5 und 6) des Quellenfeldes 1 (S 1) dps MikroSpeichers 222 für einen Befev.i tier in den F i g. 25 oder 26 gezeigten Art auf. Der Eingang B des Multiplexers nimmt die beiden niedrigststelligen öits (12 und 13) des Beslimmungsfeldes (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, welcner Eingang des Multiplexers 1006 aktiv sein soll, Wenn die Ader SEL eine 0 führt, so wird der Eingang A erregt. Wenn die Ader eine 1 iührt, so wird der Eingang ßerregt.
Die Gesamtfunktion der beiden Multiplexer besteht darin, daß sie den Feldern 51 und DES eines Mikrobefehls die Möglicnkeit geben, entweder das Register L. das Register R 1 oder das Register R 2 als Adressierquclle für das Register RM zu wählen. Der
Mikioprogrammierer kann also nicht nur den Umstand angeben, daß der Speicher WM eine Quellen- oder eine Bestimmungsschaltiing sein soll, sondern er kann außerdem angeben, welche der drei möglichen Quellen für die Adresseninformation zur Steuerung des Speichers WMbenutzt werden soll.
Ein Wort wird in das Register 1001 dadurch eingeschrieben, daß die gewünschten Daten von der Bestirnmungssammelleitung auf den Weg 232 gegeben, d'e erforderliche Adresseninformation über den Multiplexer 1005 und den Weg 1008 an das Register 1001 übertragen und die Schreibleitung 1013 veranlaßt wird, auf 1 zu gehen. Diese Leitung wird durch eine UND-Verknüpfung der RM- und der Taktsignale im Gatter 1004 gesteuert. Das WM-Signal wird von der Decodierlogik 226 geliefert und das Taktsignal vom Zeitsteuerungsgenerator, wobei es die in F i g. 28 gezeigte Form hat.
imiiici UiIIiIi. weim n\ciii mi das Register !0Gl eingeschrieben wird, gibt die Ausgangsschaltung 1003 dauernd über den Weg 201 den Inhalt des im Augenblick über den Weg 1008 adressierten Wortes an die Quellensammellcitung I.
Das WM-Signal kommt von der Deeodierlogikschaltung 226 und ist während aller vier Phasen eines Maschinenzyklus immer dann vorhanden, wenn eine binäre 0. 1 oder 2 im Bcstimmungsfeld für einen liefehl der in F i g. 25 und 26 gezeigten Art erscheint. Die zeitliche Einordnung des Taktsignals ist im /eitcliagramm gezeigt.
Zusammengefaßt bestimmen ein Taktsignal und ein WM-Signal zum Gatter 1004 zusammen mit ei rom Teil der Bestimmungsfeldinformation am ß-Fingang des Multiplexers I0O6 diejenige Schaltung, welche zur Lieferung der Adresseninformation zum WM-Speicher bei einer Schreihoperation zu benutzen ist. Der WM-Speicher isi bei diesen Operationen der Bestimmungsort lur die Informationen, die im Augenblick an die ßestimniungssammelleitung angelegt sind. Der F.ingang A des Multiplexers 1006 bildet einen Teil des Feldes .S' I eines Mikrobefehls, und wenn der F.ingang A aktiv ist. gibt das Feld .V I an. welches Schallungselement des Vorarbeiters als Quelle zu benutzen ist. die die Adressierinformation für den WM-Speicher liefert. Der Inhalt des adressierten WM-Speichers wird dann an die Quellensammelleiiung I gegeben. Wenn der Eingang B des Multiplexers 1006 aktiv ist. so gibt das Feld DES die Quelle der Adressierinformation für den WM-Spcicher an.
Der TM-Speicher 206 in F i g. 2 ist genauer in F i g. 11 dargestellt. Dieser speicher enthält im wesentlichen ein Register 1101. Eingangsschaltungen 1102. Ausgangsschaltungen 1103. ein UND-Glied 1104 und einen Multiplexer 1105.
Der ΓΜ-Speicher stellt Sonderzweckregister für den Verarbeiter und insbesondere fur 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 x4-Speichers organisiert, der das Äquivalent ' von acht Registern mit je sechzehn Bits darstellt. Fünf Bits sind für die Adresseninformation erforderlich. Der Weg 257 (TPHO-I) liefert die beiden niedrigststelligen Adressenbits. Diese kommen vom T/M-Register 217 an und bilden die Byte-Information. Der Ausgang des ' Multiplexer*· 1105 liefert die drei höchststelligen Bits.
Die drei vom Multiplexer gelieferten Adresseninformationsbits können wahlweise entweder über den Weg 259 oder über den Weg 260 ankommen. Die an die Wege angelegten Signale kommen vom Mikrospeich 222. Der Weg 259 svird auch als Weg 1503 bezeichne und führt zu Fig. 15. Die Informationen auf dem We 1503 können entweder die Bits 5 bis 7 oder 9 bis 11 ein Mikrobefehls gemäß F i g. 25 oder 26 sein. D Multiplexer 1505 in Fi g. 15 gibt auf die nachfolgend ii einzelnen noch zu beschreibende Weise entweder d Bits 5 bis 7 oder 9 bis Il auf den Weg 1503. Di Information auf dem Weg 260 besteht aus den Bits 12b 14 des Bestimmungsfeldes (DES) des Mikrobefeh gemäß Fig. 25 und 26. Der Multiplexer, der ein integrierte Schaltung vom Typ SN 74153 sein kan wählt das Eingangssignal vom Weg 259, wenn d S/TL-Eingangssignal 1110 eine 0 ist, und wählt d Eingangssignal vom Weg 260. wenn das SEL-Eingang signal eine I ist. Das 5i'L-Signal wird vom Zeitsteu runesenerator 225 geliefert und besimmt. ob d Verarbeite:' sich 'n der Lac'c-I Inirrnhase oder d Takt-Unterphase eines Mikrobefehls befindet. Di Ausgangsschaltungen 1103 geben dauernd den Inha der durch die Adresseninformation angegebene Wortstelle auf den Weg 249 mit Ausnahme derjenige Zeiten, zu denen das Schreibsignal vom Gatter 1104 a dem Weg 1100 aktiv ist. Das Einschreiben eines Wort' oder eines Bytes aus einem Wort in das Register 110 geschieht dadurch, daß Adresseninformationen an de Eingang ' !09 des Registers 1101 gegeben und dann e Schreibsignal über den Weg 1100 an die Eingangsschal tungen 1102 angelegt wird. Die in das Register HO einzuschreibenden Daten stehen auf dem Weg 238 ai der von der Bestimmungssamme'leitung 205 ausgeh Das Schreibsignai auf dem Weg 1100 ist d UND-Verknüpfung des Taktsignals auf dem Weg 110 und des Signals UD \5 auf dem Weg 1108. Das Sign I'D 15 ist das fünfzehnte Bit des Mikrobefehls gemä F i g. 25 und 26.
Es sei angenommen, daß bei einer gegebene Operation der ΓΜ-Speicher für einen bestimmte Mikrobefehl sowohl die Quelle als auch die Bestimmun: ist. Die Phasensignale, die die Byteadresseninformatioi darstellen, kommen über den Weg 257 an. Die restlich Adresseninformation wird vom Multiplexer 110 geliefert. Während der Lade-Unterphase wird di Adresseninformation am Ausgang des Multiplexer über den Weg 259 geliefert, da der ΓΜ-Speiche während dieser Unterphase eine Quellenschaltung is Unter Ansprechen auf diese Adresseninformation von Weg ^!59 geben die Ausgangsschaltungen 1103 de Inhalt des adressierten Wortes auf den Weg 249, der zu Quellensammelleitung 2 führt.
Die arithmetische Einheit nimmt die Signale von de Quellensammelleitung auf. verarbeitet sie und gibt dan die verarbeiteten Signale zur Bestimmungssammelle tung 205. Dann wird angenommen, daß diese Signale i den ΓΜ-Speicher einzuschreiben sind. Bei eine Schreiboperation für den ΓΜ-Speicher wird di Adresseninformation über den Multiplexer vom We 260 während der Takt-Unterphase geliefert. Da Schreibsignal auf dem Weg 1106 wird zum Zeitpunk des Taktimpulses für die Unterphase erzeugt, wie ii Zeitdiagramm angegeben.
Das Datenregister 212 in F i g. 3 ist in F i g. 12 genaue geze'gt. Es enthält im wesentlichen ein Schieberegiste 1201, einen Eingangsempfänger 1202. Ausgangstreibe 1203 und einen Multiplexer 1204.
Das Datenregister hat vier Funktionen. Es git Informationen oder Daten auf die Datensammelleitun
110 bzw. empfängt von dort Informationen oder Daten. Außerdem gibt es Informationen über den Weg 231 zu den Quellensamnielleitungen 1 und 2. Weiterhin empfängt es Informationen über den Weg 232 von der Bestimmungssammelleitung. Daten werden an die üatensammelleitung 110 gegeben bzw. von ihr aufgenommen, in 16-Bit-Parallelform. Sie werden auf die Quellensammclleitungen ausgegeben und von der Bestimmungssammelleitung aufgenommen, im 4-Bit-Byteformat. Informationen oder Daten werden in das Schieberegister 1201 von der Sammelleitung 110 immer dann eingegeben, wenn die Anlage· ein Speicherlese- oder Eirigabe-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 1201 führt. Dieses Signal bereitet das Schieberegister aut die Aufnahme von informationen von der Datensammelleiuing vor. Das Signal RDFFist die logische ODER-Verknüpfung des Umstandcs, daß ein Lesedaten-Flipflop, ein Lesebefehls-Flipflop oder ein Lese-Eingangs-Ausgangs-Flipflop der Steuerflipflops 226 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 d^n Eingangsempfängern 1202 aufzunehmen, wenn das bignal auf der Ader 1206 auf H und dann so 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 t5 ein Speicher-Vollstä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 Eingangsempfänger 1202 mit -tn den Paralleldateneingängen des Schieberegisters 1201. Das Schieberegister ist aus vier integrierten Schaltungen SN 7495 zusammengesetzt, die als 4x4-Speieher 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 RDFFauf 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 de:; Maschinenzyklus vorhanden. Jedes Eintreffen eines Taktimpulses bewirkt, daß Informationen im Schieberegister 1201 Byte für Byte verschoben werden. Hinsichtlich der Bestimmungssammelleitung ist. wenn das Datenregister nicht die durch den 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 Taktimpulses 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 H, 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 iviikrouefeiii als Quelle bc/lciCfinei "wird. Diese Daten stehen immer zur Verfügung, da die Schieberegisterinformation dauernd umläuft und während jeder Phase eines Maschinenzyklus über den Weg 231 an seinen Ausgang geliefert wird.
Die Eingangsempfänger sind integrierte Schaltungen SN 7404. Die Ausgangstreiber bestehen aus vier integrierten Schaltungen SN 7426. Der Multiplexer ist eine integrierte Schaltung SN 74157.
Die Register SC und TPA. die in Fig. 2 als Bauteile 218 bzw. 217 dargestellt sind, werden genauer in Fi g. 13 gezeigt. Das Register SChat 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 F i g. 5 die an ihre Eingänge angelegte Binärinformation verschieben soll. Da das Register SC /wei 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.
Wenn das Register SC Informationen von der Bestimmungssammelleitung aufnehmen soll, ist das Signal auf dem Weg 1301 eine 1. Das Signal auf dem Weg 1303 ist 1 während des Taktsignals der in Fig. 28 gezeigten Phase 0. Das UND-Glied 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 77M-Register 217 enthält einen 2-Bit-Zähler 1305 und Verknüpfungsglieder 1306 und 1311. Der Zähler 1305 kann eine integrierte Schaltung SN 74161 sein. Das T/M-Register hat die Aufgabe, die durch den 7M-Speicher benötigte Phasen- oder 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 Signa! 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 Riickstellsignal auf der Leitung 1310 erzeugt die Decodierlogik 226 in F i g. 2 aufgrund einer Information im Steuerfeld eines Mikrobefehls.
Der Zähler 1305 wird außerdem über die Verknüpfungsglieder 1306 und 1311 immer dann weitergeschaltet, wenn ein Signal gleichzeitig an beide Adern 1308 und 1309 angelegt wird. Diese Weiterschaltmöglichkeit ist für eine Schiebeoperation vo 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 Zeitdiagramm dargestellt ist. Das Register TPA kann parallel mit dem Register SC geladen werden. Dies geschieht über den Weg 403. der vom Ausgang des Gliedes 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öchststeüigen Bits auf der Sammeiieiuing 205 über den Weg 237 in das Register TPA gegeben.
Fig. 14 zeigt weitere Einzelheiten der Quellensammelleitung 1. Gemäß F i g. 2 und 3 ist die Quellensammelleitung I mit dem Auspnnp des Multiplexers 203-Af verbunden, dessen Eingänge an die verschiedenen Schaltungen angeschlossen sind, die Informationen über den Multiplexer und die Qucllensammclleitung I an die arithmetische Einheit geben können.
In F i g. 14 sind die Eingänge des Multiplexers 203-M auf der linken Seite gezeigt. Sie kommen vom ftM-Speicher 208. vom Datenregister 212. von den R 1- und /?2-Registern 209 und vom CA/-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-Glied 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 Ausgangsinformationen über den Multiplexer zur Sammelleitung 203 führen kann. Die Leitung 1404 niir.mt die Bits 5 bis 8 des Mikrobefehlsfeldes 5 1 auf. Gemäß F i g. 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 Ri- und /?2-Registem 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 wird. Entsprechend F i g. 3 werden die beiden in den Registern R1 und R 2 gespeicherten Bytes jeweils zusammen und byteseriell an die Quellensammelleitungen gegeben. Unter Bezugnahme auf F i g. 7 und insbesondere die zum Steuereingang des Multiplexers 701 führende Leitung 704 sei erläutert, daß das Ausgangssignal des Registers R 1 während der Phase 0 über den Multiplexer auf die Wege 234 und 235 gegeben wird. Aus F i g. 28 ergibt 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 P//O-Signal entsprechend der Darstellung in F i g. 28 auf 1 und der untere Eingang des Multiplexers 701 wird aktiviert, so daß das Ausgangssignal des Registers R 2 über den Multiplexer auf die Leitungen 234 und 235 gegeben wird.
Entsprechend Fig. 14 nimmt der Anschluß 15 des ■j Multiplexers 203-M den Inhalt des Registers R 1 während der Phase 0 und den Inhalt des Registers R 2 während der Phase 2 auf. Für die restlichen beiden Phasen eines Zyklus, nämlich die Bytes 3 und 4, ist es erforderlich, daß der Ausgang des Multiplexers 203-M eine 0 führt. Dies wird durch das zum UND-Glied 1402 gehende Signal PH 1 erreicht. Entsprechend F i g. 28 ist das Signal PH 1 während der Phasen 3 und 4 auf H. Dadurch wird das UND-Glied 1402 eingeschaltet und legt über die Leitung HOl ein Sperrpotential an den Multiplexer. Dadurch wird der Multiplexer 203-M veranlaßt, über seinen Ausgang für die Zeit der Bytes 3 und 4 0-Werte auf die Sammelleitung 203 zu geben. Da; Glied 1402 spricht nur auf eine binäre 15 (1111) an, da nur dann alle Eingänge UD 5-8 auf H sind.
uii* /um uiiLy-wiicCi i402 laufende Signa! PH ! ist ?,\r, .Sperrsignal oder Signal zur Erzeugung von 0-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 1 5 auf der Leitung 1404. Folglich kann das UND-Glied 1402 nicht eingeschaltet werden, obwohl das Signal PH 1 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 Multiplexers angelegt sind, über den Multiplexer auf die Sammelleitung 203 weitergeführt, wenn der entsprechende Eingang aktiviert wird.
3s Die Quellensammelleitung 2 ist in den F i g. 2 und 3 als Element 204 gezeigt und genauer in F i g. 15 dargestellt. Die Quellensammelleitung enthält einen Sammelleitungs-Multiplexer 204-M zusammen mit einem Adressensteuer-Multiplexer 1505 und einem Verknüpfungsglied 1502. Gemäß Fig. 2 und 3 kann der Multiplexer 204-M Daten oder Informationen vom ΓΜ-Speicher 206. vom Datenregister 212 sowie von du R\- und /?2-Registern 209 aufnehmen. Die Ausgangssignale des Multiplexers 204-M werden über die Adern der Quellensammelleitung 2 zur arithmetischen Einheit 202 geführt. Der Multiplexer 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, welcher Eingang des Multiplexers 1505 aktiv sein soll.
Entsprechend F i g. 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-W) als Adresseninformation vom Multiplexer 1550 über die Leitung 1503 zum Eingang des Multiplexers 204-Λί übertragen. Bei einem Bewegungsbefehl gemäß F i g. 26 wird der Eingang A erregt und die Bits LJD 5-7 übertragen die Adresseninformation über den Multiplexer 1505 zum Multiplexer 204-M.
Die Leitung 1503 führt außerdem zu Fig. Π und ist dort mit dem Eingang A des Multiplexers 1105 verbunden. Dadurch kann der Multiplexer 1505 mit seinen zugeordneten Schaltungen die Adressierung des ΓΜ-Speichers immer dann steuern, wenn dieser Speicher eine Quellenschaltung für die Quellensammelleitung 2 sein so!!.
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 das Glied 1502 ein und sperrt den Samhielleitungs-Multiplexer, so daß über dessen Ausgangsleitung 204 während der Phasen I. 2 und 3 nur 0-Werte zur ariihmetischen Einheit gegeben werden. Diese Möglichkeit wird bei den Mikrobefehlen gemäß F i g. 25 und 26 immer dann ausgenutzt, wenn die Ri- und /?2-Register 209 die Quellenschaltungen sind. Diese sind mit dem Eingang 7 des Multiplexers 204-M verbunden. Wenn das Register 209 eine Quellenschaltung ist, wird nur der Inhalt des Registers R 2 benutzt und der Inhalt des Registers R 1 nicht beachtet. Während der Phase 0 wird der Inhalt des Registers R 2 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 R 2 über die Sammelleitung 204 zur arithmetischen Einheit übertragen.
Die Leitung 1504 ist während der Phase 0 auf L Die Leitung geht während der restlichen Phasen auf H und schaltet das Ilied 1502 ein. da weiterhin eine biniire 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 0-Werte erzeugt.
Die arithmetische Einheit (AMU) 202 in F i g. 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 /!-Register 1603 und ein S-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 .4-Register gegeben. Der Inhalt der 2-Quellensammeileitung 203 wird direkt zum ß-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 der Quellensammelleitung 1 oder der Quellensammelieitung 2 in das Α-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 Λ-Regstier ü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-Auswahlleitung 1622 wird durch das Gatter 1616 gesteuert, das 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 Quellensammelleitung I über den Multiplexer mit dem Register A verbunden. Wenn das Signal eine 1 ist. wird die Quellensammelleitung 2 durch den Eingang 1 des Multiplexers mit dem Α-Register verbunden. Das Glied 1616 verhindert bei arithmetischen Mikrobefehlen eine Auswahl der Information auf der Quellensammelieitung 2 durch den Multiplexer. In solchen Fällen wählt der Eingang 0 des Multiplexers 1617 das Eingangssignal der Quellensammelleitung I, da die Leitung MOVE bei arithmetischen Befehlen auf L ist.
Die Register A und B bestehen jeweils aus integrierten Schallungen SN 74298. In einer solchen Schaltung ist der 2: !-Multiplexer 1617 als integraler Bestandteil enthalten. Diese Möglichkeit wird bei dem Register B nicht ausgenutzt und nur ein Eingang, nämlich der von der Quellensammelleit.ng 2, wird dauernd als Eingang des Registers ß6ewählt.
Die Ausgangssignale der Register A und ß gehen über die Leitungen 1638 und 1639 zu den Eingängen der ALU-Einheit 1601 und der Schiebeschaltung 501. Das Ausgangssignal der ALU-Einheit wird vom Anschluß F zum Eingang 0 des Multiplexers 1609 geführt. Das Ausgangssignal der Schiebeschaltung 501 wird über die Leitung 1637 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 ß-Eingang des Multiplexers 1609 selektiv über den Multiplexer /.1Jr Bestimmungssammelleitung 205 geführt werden. Die ALU-Einheit wird außerdem bei Bewegungsoperationen benutzt. Dabei nimmt sie das Ausgangssignal des /4-Registers auf, führt die erforderlichen Bewegungsoperationen aus und gibt die Ergebnisse dieser Operationen über den Multiplexer 1609 zur Bestimmungssammelleitung. Die ALU-Einheit besteht aus einer integrierten Schaltung SN 4181 und die Schiebeschaltung 501 aus zwei integrierten Schaltungen SN 74153.
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 .4 des Multiplexers 1609 und über diesen zur Bcstimmungssammelleitung 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. JD zeigt in Form einer Wahrheitstabelle die verschiedenen Funktionen, die der AROM-Speicher 1602. die ALU-Einheit IbOl und die Schicbeschaltung 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 / :Vesseninformation an. die der Speicher AROM bei jeder Operation aufnimmt, die er steuert. Das höchststellige Bit der Α/?ΟΛ/-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 Adressen 0 bis 15 in der zweiten Spalte in Fig. 30 dargestellt. Die vier niedrigststelligen Bits der Adresseninformation 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 F i g. 25 angegebenen Art.
In der zweiten Spalte in F i g. 30 geben die Adressen 0 bis 5 logische Operationen oder Funktionen an. die jeweils in der vierten Spalte von links bezeichne·, 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 !6 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 an, in welchen das Flipflop 1607 für jede der verschiedenen Adressen während des Vortaktintervalls geschaltet wird. Die für die Adressen 16 bis 31 angegebenen Bewegungsbefehle sind alle untereinander gleich, so daß nur die Einzelheiten des Befehls 16 dargestellt sind. F i g. 30 zeigt nur diejenigen Funktionen der arithmetischen Einheit, bei der die ALU-Einheit 1601 beteiligt ist. Die von der Schiebeschaltung 501 durchgeführten Schiebeoperationen sind in Fig.30 nicht angegeben, da bei ihnen die ALU-Einheit nicht beteiligt ist.
Zur genaueren Beschreibung der arithmetischen Einheit sei angenommen, daß sie eine Phase eines arithmetischen Befehls gemäß Fig. 25 ausführt. Es sei weiter angenommen, daß die Lade-Unterphase bereits durchgeführt ist. Dies bedeutet, daß die A- und ß-Register 11603 und 1604 Daten von den Quellensammelleitungen aufgenommen haben. Dann müssen diese Daten, die jetzt bearbeitet werden sollen, gegebenenfalls über die Schiebeschaltung 501 zum richtigen Eingang des Multiplexers 1609 und dann über den Multiplexer zur Bestimmungssammelleitung 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 F i g. 30 angegebenen Art benutzt (links verschieben um 1. arithmetische oder logische Funktionen). Die Schiebeschaltung wird bei allen Schiebeoperationen außer der benutzt, die für die Adresse 12 dargestellt ist.
Zur Beschreibung einer typischen Operation des Verarbeiters sei angenommen, daß der für die Adresse 7 gezeigte Addierbefehl ausgeführt werden soll. In diesem Fall gibt entsprechend F i g. 30 der Speicher A ROM die erforderlichen Ausgangssignale über Leitungen 1628 und 1629 zu den oberen beiden Eingängen der Einheit ALU, um diese auf die Addieroperation vorzubereiten. Wie in Zeile 7 in Fig.30 angegeben, wird jetzt der Eingang ß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 S-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ückstellzustand.
Die vorstehenden Operationen bewirken die Vorbereitung der Einheit ALU und der restlichen Schaltungen gemäß Fig. 16 zur Durchführung einer Addieroperation. Die Aktivierung des Eingangs B des Multiplexers 1609 bewirkt die Auswahl des Ausgangs F der Einheit ALU. Wie in F i g. 30 angegeben, steht am Ausgang F zu diesem Zeitpunkt die Summe der Eingangssignale A und B. Diese Ausgangsinformation wird über den Multiplexer 1604 auf die Bestimmungssammelleitung 205 gegeben. Wenn die Summe der Eingangssignale A und B einen Übertrag für das nächste Byte erfordert, wird das Ubertnigssignal von der F.inheit ALU über die Ader 1635 zum /Mjneang des Multiplexers 1606 gegeben. Von (inrt wird es zum D-Eingang des Flipflops 1607 übertragen. Entsprechend der Darstellung in Fig.31 wird zum Taktzeitpunkt der Übertrag'- oder Nichtübertrags-Zustand des gerade durch die Einheit ALU verarbeiteten Bytes in das Flipflop übertragen. Wenn ein Nichtübeurags-Zustand angegeben wird, bleibt das Flipflop im rückgestellten Zustand. Es wird eingestellt, wenn ein Signal für einen Übertragszustand in Form eines Signals H am D-Eingang des Flipflops ankommt. Der Übertrags- oder Einstellzustand des Flipflops wird
to beim nächsten Durchgang von der Einheit ALU verwendet und kommt in Form eines Signals vom Ausgang Q des Ripflops über die Ader 1634 am Eingang Übertrag, Eingang der Einheit ALU an.
Die an die Sammelleitung 205, welche die Bestimmungssammelleitung ist, angelegte Information wird zu einer der Bestimmungsschaltungen übertragen, 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 tinheit 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 Übertragszustand des Flipflops 1607 bewirkt die Einstellung des Flipflops 1636. Dadurch wird ein diesen Zustand anzeigendes Signal an die CF-Ausgangslcitung 1641 der ar'.hmetischen 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. Ent-
J5 sprechend Fig.30 gibt eine Eingangsadresse 15 eine Rcchtsschiebeoperation 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 der Register A und B, verschiebt diese Information um die Anzahl von Bitpositionen, die durch die über die Leitung 239 vom 5C-Register 218 ankommenden Signale angegeben werden, und über-
^5 trägt ein die verschobene Information darstellendes 4-Bit-Byte über die Leitung 1637 zum /4-Eingang des Multiplexers 1609. Von dort wird das verschobene Byte über den Multiplexer zur Bestimmungssammelleitung 205 übertragen.
so Ein Zustand mit nur 0-Werten auf der Bestimmungssammelleitung wird für bestimmte logische Operationen festgestellt, die der Verarbeiter durchführt. Dies geschieht mit Hilfe der Verknüpfungsglieder 1614 und 1613, wobei das Ausgangssignal des Gliedes 1613 an der Eingang A des Multiplexers 1606 angelegt wird. Solange ein Zustand mit nur 0-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ückstellzustand umgeschaltet. Es kann dann nicht bei der gleichen Operation eingestellt werden.
Ein Bewegungs-Mikrobefehl gemäß Fig. 26 bewirkt daß die arithmetische Einheit mit folgenden Ausnahmer auf ähnliche Weise arbeitet, wie oben bereits beschrie· ben. Die Einheit ALU wird über die Adern 1628 um: 162") auf den Empfang des Inhalts des Registers A vorbereitet und überträgt ihn ohne Änderung an der Ausgang /-'der Einheit ALU. Beim Multiplexer 1606 ist
der Eingang A aktiviert und nimmt das Ausgangssignal des Gliedes 1613 auf, um auf die bereits beschriebene Weise einen Zustand mit nur O-Werten auf der Bestimmungssammelleitung festzustellen. Beim Multiplexer 1609 ist der Eingang B aktiviert und nimmt das Signal am Ausgang Fder arithmetischen Einheit auf und , gibt es auf die Bestimmungssammelleitung 205. Das Flipflop 1607 ist vorher während der Vortaktzeit eingestellt worden, wie in der rechten Spalte in F i g. 30 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-Register 1603 eingegeben und ; dann über die arithmetische Einheit und den Multiplexer 1609 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.
F i g. 17 zeigt genauere Einzelheiten des M AC-(Mikroadressenzähler)-Zählers 220, des Multiplexers 221, des Registers 219 sowie der diesen Bauteilen zugeordneten Steuerschaltungen. Der Zähler 220 ist ein 12-Bit-Binärzähler, der parallel mit zwölf Bits gleichzeitig geladen, um 1 weitergeschaltet oder auf einen Zustand mit nur 0-Werten gelöscht werden kann. Dem Löscheingang wird das Signal RSMAC 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 MÄS-Zählers 219 verbunden ist, und der Eingang B an der Leitung 230 liegt. Der Multiplexer 221 überträgt die ß-Eingangsinformation an seinen Ausgang, wenn das Steuersignal SUBOP auf H ist. Die ,4-Eingangsinformation wird an den Ausgang gegeben, wenn das Signal SUBOP auf L ist. Dem so Eingang ß wird das Ausgangssignal des MikroSpeichers
222 über die Adern UDO bis UD Il 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-Operätiönscode darstellen, die der Multiplexer 1702 an &o seinen Eingang B über die Leitung 210 von der Datensammelleitung aufnimmt. Entsprechend der Darstellung in den Fig. 21 -24 befinden sich diese sieben Hits des Operationscode in den Bitpositionen 8-14 der Programmwörter, die der Venirbeiter vom Speichersystern 102 in F i g. I erhält.
Die Operalionscodebefehlc 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 Mikrospeicher 222 ein anderes MikroUnterprogramm umfaßt Wenn der AiAC-Zähler einen bestimmten 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 AiAC-Zähler 220. Der Zähler benötigt dabei keine Adresseninformation vom Multiplexer 221, 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-AdressierfunktioDeij, bei denen jeweils ein Zugriff zum unmittelbar folgenden Wort eines Mikrospeicherprogramms erfolgen soll, der M/4C-Zähler mit diesem Hilfsmittel jeweils um einen Schritt weitergcschaltet. Der Zähler 220 benötigt so lange keine Adresseninformationen, 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, wie die Schaltungsanordnung gemäß F i g. 17 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 angenommen, daß der MA C-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 Mikrospeicher 222 ein Sprung auf ein Mikrospeieher-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 MKS-Zähler 219 geführt. Diese Information enthält die Adresseninformation auf der Leitung 244 und gibt die Position an, auf die der M/4C-Zähler weitergeschaltet 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 -velches der Mikrospeicher springen soll. Die Information wird durch einen Multiplexer 221 an den MAC-Zähler 220 angelegt, der danr den Mikrospeicher 222 auf die angegebene Unterprogramm-Adressenstelle springen läßt.
Der Multiplexer 1702 arbeitet derart, daß immer dann, wenn das Signal INSREQ auf L ist, der Eingang A des Multiplexers aktiviert ist und die Information auf der vom Ausgang des /VMC-Zählers kommenden Leitung 244 in das Register 219 geladen wird. Dieses Laden findet dann statt, wenn alle Eingänge des Gliedes 1704 a if dem richtigen Wert sind. Dadurch wird der Ladeeingang des M/?5-Registers 219 über das Glied 1703 auf I gebracht und dann das Alisgangssignal des /VMC-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 Unterprogramni-Rückkehradresse.
Es wird jetzt das Unterprogramm ausgeführt, wobei der Mikrospeicher und der AMC-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«- Kommarido dar. Dieses Kommando bewirkt, daß die im MftS-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 Signal INSREQ ist auf H und zeigt an, daß dem Verarbeiter ein Speicherbefehl vom Speichersystem 102 zugeführt wird. Das Speichersystem erzeugt ein »Spetcher-fertig«-Signal, wenn es seine Funktion beendet hat, und dann wird das Signal IMCOMPauf H gebracht. Dadurch erzeugen die Glieder 1703 und 1703 ein Signal H, das ein Ladesignai für das Register /VmS 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ähter geführt, der wiederum den Mikrospeicher 2?2 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ähler ist. Die sieben Bits des empfang nen Operationscode werden in den Bitpositionen 1-7 des Registers "M9 eingegeben. Die restlichen Bits, die der Zähler 220 benötigt, sind fest mit dem ß-Eingang des Multiplexers 17P2 auf die folgende Weise verdrahtet. Das Bit 0 ist dauernd eine Null, die Bits 8, 9 sind dauernd eine 1, und die Bits 10, 11 sind dauernd Null. Diese feste Verdrahtung bringt den Operationscode auf eindeutige Weise in eine Starttabelle im Mikrospeichersystem, so daß jeder ankommende Operationscode den MAC-Zäh\er und den Mikrospeicher 222 auf das 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 M/?S-Zähler 219 als auch den Eingangsmultiplexer 1702.
Es sei jetzt erwähnt, daß die Schaltungen gemäß F i g. 2 sich von demjenigen der F i g. 17 im Hinblick auf die Art und Weise geringfügig unterscheiden, wie die Information auf der Leitung 210 in Fig.2 an den MAC-ZMzt 22Ü 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 statt dessen mit dem Eingang B des Multiplexers 1702 und dann mit dem Eingang des M/?S-Registers 219 verbunden. Vom Ausgang des Registers 219 werden die Signale auf der Leitung 210 zum Eingang A des Multiplexers 221 und dann /.um MAC-Zäh\er 220 geführt. Insgesamt zeigt fig. 17 die bevorzugten Schaltungseinzelheiten für die Art und Weise, wie der M/AC-Zähler 220 mit der Leitung 210 verbunden werden kann. Fig. 2 zeigt eine vereinfachte Version.
Fig. 18 enthält weitere Einzelheiten für die Schaltungen und Bauteile, die den Mikrospeicher 222 in F i g. 2 bilden. Wie gezeigt, enthält der Mikrospeicher die Mikrospeicher-FestwertspeicherfROM) 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 Adresseninformation für die Festwertspeicher kommt vom MAC-Zähler 220 über die Leitung 244. Das
ίο Synchron- oder Lesesignd kommt vom Mikrospticher-Zeitgeber 1803 über die Leitung 1804. Das Ausgangssignal der Festwertspeicher wird über die Leitung 1806 an die Mikroregister 1802 gegeben.
Die Reihenfolge der Operationen ist die folgende:
Der Zeitsteuerungsgenerator erzeugt am Beginn eines Mikrobefehls das Signal SRTUT, das den Mikrospeicher-Zeitgeber 1803 veranlaßt, den Zugriff zu den Festwertspeichern 1801 beginnen zu lassen. Unter Steuerung der Adresseninformation 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 Ladesignals, das vom Mikrospeicher-Zeitgeber 1803 erzeugt und über die
Leitung 1805 zu den Mikroregistem 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äß F i g. 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, un<i eine integrierte Schaltung SN 7408, die Verknüpfungsglieder beinhaltet. F i g. 19 zeigt weitere Einzelheiten des Bestimmungsdecoders, der Teil der Decodierlogik 226 in F i g. 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-16-Decoder und decodiert die vier Bits des Bestimmungsfeldes eines Mikrobefehls gemäß F i g. 25 und 26, um diejenige Schaltung festzulegen, die die Information auf der Bestimmungssammelleitung aufnehmen soll. Das Verknüpfungsglied ERMnimmt die Ausgangssignale der Positionen 0,1 und 2 des Decoders auf und erzeugt ein Signal RM. Dieses Signal gibt an, daß der KM-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 S/A/?-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 6 Verknüpfungsglied WL 1 kombiniert das Ausgangssignal 4 des Decoders und das Taktsignalende im Signal der Phase 0 (Signal CPHSO). um das zum Laden des L-Registers 216 erforderliche Taktsignal zu gewinnen. Der obere Eingang des Gliedes WL1 ist mit dem Ausgang 4 des Bestimmungsdecoders verbunden.
F i g. 20 zeigt weitere Einzelheiten des Steuerfelddecoders, der ebenfalls Teil der Decodierlogik 226 In F i g. 2 ist Der Steuerfelddecoder ist mit den i/D-Adern 0 bis 4 am Ausgang des Mikrospeichers 222 verbunden und decodiert diese Informationen zur Erzeugung der auf der rechten Seite des Decoders gezeigten Ausgangssignale. Die entsprechenden Ausgangsanschlüsse sinH mit 0 bis 15 bezeichnet Der. Decoder setzt vom Binärsystem auf l-aus-16 um, wobei jede Kombination von binären Eingangssignalen, die an die linke Seite, angelegt werden, zur Erzeugung eines Signals an einen besonderen Ausgangsanschluß führt Der Eingang G 2 des Decoders ist ein Takteingang, der den Zeitpunkt steuert zu dem die ankommende Binärinformation als l-aus-16-Signal an den Decoder- U ausgang gegeben wird.
Fig.32 zeigt in 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 Mikrospeichcr (MS) 222 und sechs unterschiedliche Signale vom Zeitsteuerungsgcnerator (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 F i g. 32 dürften ohne weitere Erläuterung verständlich sein.
F i g. 34 und 35 zeigen die zeitliche Beziehung » zwischen den verschiedenen Steuersignalen, die die Schaltungen gemäß F i g. 17 und 18 erhalten. Die Signale ι
3401 und 3402 orientieren die restlichen Signale in; Fig.34 zeitlich sowie mit Bezug auf die Signale in;
Fig.31. Das Signal 3401 ist das gleiche Signal wie das j Phase-O-Signal in Fig.31, und das PÄDCLK-Signal
3402 ist das gleiche Signal wie das Signal PRECLK in Fig.31.
Das Signal 3403 stellt die Spannung auf der Ader 1805 dar. Ein Signal H auf dieser Ader bewirkt ein Laden der Mikroregister 1802 vom Ausgang der Mikrofestwertspeicher 1801.
Das srÄL/T-Signal 3404, das von einem negativen auf einen positiven Wert umschaltet wenn die Adern LDCNT und RSMAC auf H sind, schaltet den M4C-Zähler 220 um eine Position weiter. Wie bereits beschrieben, erfolgt dadurch ein Zugriff zum nächsten j Wort der Mikrofestwertspeicher 1801. Das nächste! Auftreten des Signals 3403 auf der Leitung 1805 bewirkt; ein Laden der Mikroregister 1802 durch das neu
adressierte Wort der Mikrofestwertspeicher. j
Die Signale 3405 und 3406 beziehen sich auf | Bedingungen der Anlage, bei der das Mikroprogramm einen Abzweig antrifft, bei dem das Ausgangssignal der! Mikroregister 1802 die nächste Mikroprogrammadresse. angibt, auf die der M4C-ZähIer 220 eingestellt werden | soll. Diese Information wird über den Eingang B des ! Multiplexers 221 zum AMC-Zähler 220 zurückgegeben. Daher ist es erforderlich, daß zu diesem Zeitpunkt die St/ßOP-Steuerader des Multiplexers auf H ist. Wenn *o das Signal 3405 zum ersten Mal negativ wird, schaltet es den M4C-Zähler 220 um einen Schritt weiter. Wenn das Signal 3405 zum zweitenmal negativ wird (Rückflanke des Signals), wird der MAC-ZMer mit der Adresseninformation eingestellt die sich im Augenblick auf der Leitung 230 befindet da jetzt die Ader LDCNTtaif L ist Der MAC-Zähler veranlaßt wiederum einen Zugriff zu demjenigen Mikroprogrammwort auf den er durch dieses Signal eingestellt worden ist
Das Signal 3407 stellt das zusätzliche Steuersignal ι dar, das zur Ausführung einer Unterprogrammanforde-I rung nötig ist Die Signale 3405 und 3406 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 Signal 3407, das die Adresseninformation auf der Leitung 244 in den MKS-Zähler 219 eingibt Die Information wird dem Register 219 über den Eingang A des Multiplexers 1702 zugeführt
Das Signal 3408 ist das Steuersignal, das am Ende einer UnterDrogrammanforderung erzeugt wird. Es wird auf die Leitung 1706 gegeben und bewirkt daß der augenblickliche Inhalt des MAS-Registers 219 in den MÄC-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 M/lC-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 Signal 3501 gibt das Ende des Phase-3-Signals in Fig.31 an. Das Signal CTLPLSist identisch mit dem in F i g. 31 und tritt unmittelbar bei Beendigung des Phase-3-Signals auf. Das /JVS/?E(?-Signal 3503 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 MKS-Register 219 eintreten kann. Dies geschieht zu dem durch den Pfeil oberhalb des Signals 3503 angegebenen Zeitpunkt Das /M-COMP-Signal 3504 und das /MS/?£<?-Signal 3503 scha! en das UND-Gatter 1705 ein, so daß das MKS-Register mit dem Programmwort auf der Leitung 210 über den Eingang B des Multiplexers 1702 geladen werden kann.
Das SL/ßOP-Signal 3505 ist für die gesamte Operation auf L Dadurch wird der Eingang A des Multiplexers 221 betätigt gehalten. Anschließend wird, nachdem beide Signale 3506 und 3507 auf L sind, und wenn die Rückflanke des Signals 3506 auftritt der Inhalt !des MKS-Registers 219 in den MAC-Zähler 220 geladen.
1 Das Signal 3508 gibt den Zeitpunkt an, zu dem das ProgrpTimwort, zu dem die Signale 3506 und 3507 einen Zugriff ermöglicht haben, ein Lesen der Festwertspeicher 1801 bewirken vnd die gelesene Information in die Mikroregister 1802 eingeben kann. Die Mikrofestwertspeicher 1801 benötigen eine endliche Zeit nach Eintreffen eines Lesesigna|s auf der Leitung 1804, um leine Leseoperatioi. durchzuführen. Daher wird das Ladesignal 2508 um etwa 700 ns verzögert, um die Lesezeit zu berücksichtigen und um den Inhalt der durch die Steuersignale auf der Leitung 244 Lngegebenen Stelle des Mikrofestwertspeichers 1801 in die Mikroregister 1802 einzugeben.
Hierzu 18 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Schiebe- und Rotierschaltung zum rotierbaren Verschieben von Bits eines Datenwortes um eine Anzahl N von Bitpositionen, wobei das Datenwort eine Vielzahl von Mehrbit-Bytes enthält, die in einer ersten Byte-Folge in einem ersten Speicher angeordnet sind, gekennzeichnet durch einen zweiten Speicher (206), der die Bytes des Datenwortes in einer zweiten, von der Zahl N abhängenden Byte-Folge aufnimmt, und einen Byte-Prozessor (202), der aufeinanderfolgende Byte-Paare des Datenwortes aufnimmt, und zwar jeweils ein Byte aus dem ersten Speicher (208) und das andere Byte aus dem zweiten Speicher (206) und der aus jedem Byte-Paar ein Byte des rotiert verschobenen Datenwortes ableitet
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 DE2556617A1 (de) 1976-07-01
DE2556617C2 true 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 日通工株式会社 時分割通話路における時間スイツチ
ATE82412T1 (de) * 1986-02-06 1992-11-15 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

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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2556617C2 (de) Schiebe- und Rotierschaltung
DE1901228C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2354521C2 (de) Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln
DE2724125C2 (de)
DE2355993C3 (de) Programmierbare Datenverarbeitungsanlage
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
DE2645537C2 (de)
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE1449531B2 (de) Prozessor, vorzugsweise fur ein modulares Mehrprozessorsystem
DE1928202B2 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE1218761B (de) Datenspeidbereinrichtung
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE2457612B2 (de) Mikroprogrammier-Steuereinrichtung
DE2556641A1 (de) Datenverarbeiter
DE2717658A1 (de) Anordnung zur ansteuerung eines mikroprogrammspeichers
DE4334294C1 (de) Prozessor für Zeichenketten variabler Länge
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE2248296A1 (de) Programmsteuereinrichtung
DE1474095B1 (de) Programmgesteuerte Datenverarbeitungsanlage
DE1549531A1 (de) Digitale Rechenanlage
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE2854400C2 (de) Anordnung zum Wechsel zwischen verzahnt zu verarbeitenden Programmen
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen

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