DE2459975C2 - - Google Patents
Info
- Publication number
- DE2459975C2 DE2459975C2 DE2459975A DE2459975A DE2459975C2 DE 2459975 C2 DE2459975 C2 DE 2459975C2 DE 2459975 A DE2459975 A DE 2459975A DE 2459975 A DE2459975 A DE 2459975A DE 2459975 C2 DE2459975 C2 DE 2459975C2
- Authority
- DE
- Germany
- Prior art keywords
- register
- signal
- flip
- signals
- microinstruction
- 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
Links
- 230000015654 memory Effects 0.000 claims description 162
- 238000012546 transfer Methods 0.000 claims description 88
- 230000002093 peripheral effect Effects 0.000 claims description 66
- 230000005540 biological transmission Effects 0.000 claims description 62
- 239000000872 buffer Substances 0.000 claims description 48
- 238000003860 storage Methods 0.000 claims description 35
- 238000012360 testing method Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000009261 D 400 Substances 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 208000034098 congenital autosomal recessive small-platelet thrombocytopenia Diseases 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000839 emulsion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
Description
Die Erfindung betrifft einen mikroprogrammierbaren Peripheriegeräte-
Prozessor in einem Datenverarbeitungssystem
zur Steuerung der Übertragung von Datenblöcken in beiden
Richtungen zwischen an das Datenverarbeitungssystem angeschlossenen
Eingabe/Ausgabe-Geräten und einem Zentralprozessor,
wobei die Eingabe/Ausgabe-Geräte an den Peripheriegeräte-
Prozessor über Eingabe/Ausgabe-Anschluß-Interfaces
und der Zentralprozessor an den Peripheriegeräte-Prozessor
über Peripherie-Subsystem-Interfaces angeschlossen sind,
mit einem vom Peripheriegeräte-Prozessor umfaßten Mikroprogramm-
Steuerspeicher, dem Operationsbefehlssignale zugeführt
werden, auf deren Empfang hin der Mikroprogramm-
Steuerspeicher Sequenzen von Mikrobefehlssignalen generiert,
welche nachgeschaltete Schalt- und Logikeinheiten für die
Durchführung von Kanalprogrammen aktivieren.
Um eine größere Wirtschaftlichkeit bei der Verarbeitung von
Eingabe/Ausgabe-Operationen zu erzielen, ist die Last der
Steuerung an Eingabe/Ausgabe-Operationen auf die peripheren
Steuereinrichtungen verschoben worden. Dies hat seinerseits
in starkem Ausmaß die Kompliziertheit derartiger Steuereinrichtungen
erhöht, und zwar insbesondere dort, wo die Steuereinrichtungen
erforderlich sind, um Datentransferoperationen
zu behandeln, welche Einrichtungen einschließen, die eine Vielzahl
unterschiedlicher Betriebseigenschaften besitzen. Um die
Kosten derartiger Steuereinrichtungen zu senken, benutzen viele
Systeme eine Mikroprogrammierung. Im allgemeinen haben die
Steuereinrichtungen Allzweck-Mikroprozessoren mit maßgeschneiderten
Mikroprogrammen für unterschiedliche Arten von Einrichtungen
verwendet.
Ein wesentlicher Nachteil einer solchen Systemgestaltung besteht
darin, daß die Geschwindigkeit der durch die mikroprogrammierte
periphere Steuereinrichtung bewirkten Datentransferoperationen
durch die Verarbeitungsgeschwindigkeit des Steuereinrichtungs-
Mikroprozessors begrenzt ist. Um angemessen wirksame bzw. wirtschaftliche
Transfergeschwindigkeiten zu erzielen, muß der
Mikroprozessor bei höheren Frequenzen betrieben werden, um die
erforderlichen Transfer- und Steuersignale zu erhalten, die mit
den Verarbeitungsgeschwindigkeiten bzw. -frequenzen der Einrichtungen
vergleichbar sind. Dies kann seinerseits erheblich
die Kosten der peripheren Steuereinrichtung anheben. Wenn das
System jedoch benötigt wird, um schnellere Eingabe/Ausgabe-
Einrichtungen zu bedienen, bringt dies normalerweise die Notwendigkeit
nach einem vollständigen Neuaufbau des Mikroprozessors
mit sich.
In der US-PS 36 54 617 wird eine mikroprogrammierbare Eingabe/Ausgabe-
Steuereinrichtung mit einer Vielzahl von Rechen-Verknüpfungseinheiten
beschrieben. Von diesen Einheiten ist
jeweils eine innerhalb einer von voneinander unabhängigen
Mikroprogrammiereinheiten vorgesehen. Durch gesonderte Zwischenverbindungsregister
wird eine Programmsynchronisation
zwischen den in einer Vielzahl vorgesehenen mikroprogrammierbaren
Einheiten hergestellt. Die betreffenden Register sind
daher direkt mit Datenströme führenden Schaltungen verbunden,
um den Betrieb dieser Schaltungen zu überwachen und zu
steuern.
Über das allgemeine Prinzip der programmgesteuerten Herstellung
der Verbindung für einen Datentransfer innerhalb einer Datenverarbeitungsanlage
und der hardwaregesteuerten Ausführung des
Datentransfers wird auch in einem Übersichtsartikel "The
Input/Output Architecture of Minicomputers" in Datamation,
1970, Heft 4, S. 119-124 (Verfasser: Robert Rinder) berichtet.
Es werden dort allerdings nur sehr generelle Aussagen gemacht;
schaltungstechnische Lösungen werden nicht offenbart. Es wird
in diesem Artikel vielmehr die generelle Erkenntnis vermittelt,
daß eine Steigerung des Datendurchsatzes bei Eingabe/Ausgabe-
Operationen in Datenverarbeitungsanlagen möglich ist, einmal
durch eine Reduzierung der Eingabe/Ausgabe-Unterbrechungen
und durch eine Programmsteuerung der Eingabe/Ausgabe-Datentransferoperationen.
Dabei ist es in der Datenverarbeitungstechnik
immer eine Frage des Abwägens bzgl. Programmaufwand und Hardwareaufwand,
wobei in der Regel ein höherer Programmaufwand
weniger Hardware, also weniger Kosten, dafür aber mehr Zeit
erfordert, wohingegen ein höherer Hardwareaufwand mehr Kosten
verursacht, dafür aber Zeiteinsparungen in der Datenverarbeitung
bringt. Konkrete technische Problemlösungen sind nicht
offenbart, so daß dem Fachmann mit dieser Literatur keinerlei
verwertbare Lösungshinweise an den Hand gegeben sind.
Einer weiteren Literaturstelle (US-Buch "Microprogramming"
von S. Husson, Prentice-Hall, 1970, S. 186-191) sind die
generellen Merkmale einer Mikroprogrammsteuerung mit Speicher,
Verzweigungssteuereinrichtung und Decodiereinrichtung in vereinfachter
Form entnehmbar am Beispiel des System/360 Mikroprogramm-
Befehlsspeichers (vgl. Fig. 6.2 auf S. 189). Auf die
besonderen Merkmale eines mikroprogrammierbaren Peripheriegeräte-
Prozessors wird in dieser Literaturstelle nicht eingegangen.
Die Aufgabe der vorliegenden Erfindung besteht darin, einen
mikroprogrammierten Peripheriegeräte-Prozessor mit Hardwaresteuerung
dahingehend weiterzubilden, daß der eigentliche Datentransfer
unabhängig von den jeweiligen Mikroprogrammen
des Peripheriegeräte-Prozessors mit hoher Übertragungsgeschwindigkeit
durchführbar ist.
Gelöst wird die vorstehend bezeichnete Aufgabe durch die
Schaffung eines mikroprogrammierbaren Peripheriegeräte-Prozessors,
der die im Patentanspruch 1 beschriebenen Merkmale
aufweist.
Demgemäß kann die Anordnung gemäß der vorliegenden Erfindung
die Datenübertragung unabhängig von der Verarbeitungsgeschwindigkeit
des mikroprogrammierten Prozessors weiterführen. Dies bedeutet,
daß die Anordnung gemäß der vorliegenden Erfindung die
Forderung vermeidet, daß der mikroprogrammierte Prozessor eine
Anzahl von Mikrobefehlen für Übertragungs- oder Vergleichs-Bytes
ausführen muß, wie dies durch die an den Prozessor abgegebenen
Befehle gefordert ist. Darüber hinaus vermeidet die Anordnung
gemäß der vorliegenden Erfindung die Notwendigkeit, in den
peripheren Prozessor zusätzliche Hardware einführen zu müssen,
durch die Operationen verdoppelt werden, welche außerdem durch
Mikroprogramme bereitgestellt werden, die normalerweise in einem
Allzweck-Mikroprozessor enthalten sind. Damit senkt die Anordnung
gemäß der vorliegenden Erfindung die Kosten auf ein
Minimum, und zwar durch Verringerung des Anteils der Verdoppelung
oder der Redundanz, was sich aus der Ausnutzung eines Allzweck-
Mikroprozessors ergibt. Durch Verringern der Verdoppelung erreicht
darüber hinaus die Anordnung gemäß der vorliegenden
Erfindung eine hohe Zuverlässigkeit.
An Hand von Zeichnungen wird die Erfindung nachstehend beispielsweise
näher erläutert, und zwar hinsichtlich ihrer
Organisation und hinsichtlich ihres Betriebsverfahrens.
Fig. 1 zeigt schematisch ein die Prinzipien der vorliegenden
Erfindung verkörperndes Datenverarbeitungssystem.
Fig. 2 zeigt in Einzelheiten einen peripheren Prozessor 300
des Systems gemäß Fig. 1.
Fig. 3a zeigt im einzelnen einen PSI-Steuerungsbereich des
Prozessors gemäß Fig. 2;
Fig. 3b zeigt im einzelnen Datenpufferregister und einen Steuerbereich
302-50 des Prozessors gemäß Fig. 2;
Fig. 3c zeigt im einzelnen einen Steuerablaufspeicher eines
Bereichs 308 des Prozessors gemäß Fig. 2;
Fig. 3d zeigt im einzelnen Zählersteuereinrichtungen des Bereichs
308 gemäß Fig. 2;
Fig. 3e zeigt in Blockform einen Festwertspeicher-Steuerbereich
304 gemäß Fig. 2;
Fig. 3f (2 Blatt) zeigt im einzelnen unterschiedliche Verzweigungsschaltungen
gemäß Fig. 3e;
Fig. 3g zeigt im einzelnen verschiedene Teile des Lese/Schreib-
Pufferspeicherbereichs 306 gemäß Fig. 2;
Fig. 3h zeigt im einzelnen Steuerlogikschaltungen 306-70 sowie
Kippschaltungs-1-Schrittschaltungen 306-100 des Bereichs 306
gemäß Fig. 3g;
Fig. 3i (2 Blatt) zeigt im einzelnen einen ALU-Bereich 316 gemäß Fig. 2;
Fig. 3j zeigt im einzelnen einen Daten- und Zählerbereich 318
gemäß Fig. 2;
Fig. 3k zeigt im einzelnen einen Adapter- und Einrichtungs-Leitungssteuerbereich
310 gemäß Fig. 2;
Fig. 4a bis 4g zeigen verschiedene Mikrobefehlsformate, die
durch den Prozessor gemäß der vorliegenden Erfindung ausgeführt
werden;
Fig. 5a und 5b zeigen das Format der in den Massenspeichereinrichtungen
gespeicherten Aufzeichnungen;
Fig. 6a und 6c zeigen Flußdiagramme, die zur Erläuterung des
Betriebs des Prozessors gemäß der vorliegenden Erfindung verwendet
werden.
Die vorliegende Erfindung findet hauptsächlich in einem Datenverarbeitungssystem
Anwendung, welches ein Eingabe/Ausgabe-
Untersystem enthält, in welchem ein peripherer Prozessor die
Operation bzw. den Betrieb einer Vielzahl von peripheren Einrichtungen
auf Befehle hin steuert, die von einem Eingabe/Ausgabe-
Kanal empfangen werden. Diese Art des Systems kann für die
Zwecke der vorliegenden Erfindung als in herkömmlicher Weise
ausgeführt angesehen werden. Demgemäß wird das System lediglich
in dem für das Verständnis des Betriebs der vorliegenden Erfindung
erforderlichen Ausmaß erläutert werden. Zum Zwecke
einer leichten Bezugnahme werden außerdem Definitionen bestimmter,
hier benutzter Ausdrücke in einem beigefügten Anhang
zusammengefaßt.
In Fig. 1 ist ein System gezeigt, welches den mikroprogrammierbaren
peripheren Prozessor gemäß der vorliegenden Erfindung
umfaßt. Das System enthält einen zentralen Prozessor-Komplex
(CPC), der diejenigen Einheiten enthält, welche für die
Adressierung des Hauptspeichers benötigt werden, und zwar für
die Wiederauffindung oder Speicherung einer Information, für
die Ausführung von Rechen- und Verknüpfungsoperationen auf
Daten hin, für die Folgesteuerung von Befehlen in der gewünschten
Reihenfolge und für die Auslösung von Nachrichtenverbindungen
zwischen dem Hauptspeicher und externen Einrichtungen.
Die Haupteinheiten des zentralen Prozessor-Komplexes 100
enthalten eine Zentraleinheit (CPU) 102, ein Hauptspeicher-
Untersystem 104 und eine Eingabe/Ausgabe-Steuereinrichtung (IOC)
106. Die Zentraleinheit führt Befehle eines Programms oder
mehrerer Programme aus, die in dem Hauptspeicher-Untersystem 104
gespeichert sind. Die Eingabe/Ausgabe-Steuereinrichtung ist
derjenige Teil des Systems, der in die Ausführung von Befehlen
einbezogen ist, die zur Ausführung einer Eingabe/Ausgabe-Operation
benutzt werden. Eine Eingabe/Ausgabe-Operation wird durch
ein Kanal-Programm definiert. Das Programm enthält eine Vielzahl
von Instruktionen, die Befehle genannt werden. Die Operation
wird durch einen "Kanal" ausgeführt. Der Kanal enthält die
Eingabe/Ausgabe-Einrichtungen, eine Hardware-Verbindung
zwischen der Eingabe/Ausgabe-Steuereinrichtung und dem peripheren
Prozessor, der als physikalischer Kanal bezeichnet wird,
sowie einen Verknüpfungs-Kanal. Der Verknüpfungs-Kanal ist eine
Sammlung der Eigenschaften in einem peripheren Prozessor, der
für die Ausführung einer durch ein Kanal-Programm definierten
Eingabe/Ausgabe-Operation erforderlich ist. Da "Kanäle" auf
dem vorliegenden Gebiet bekannt sind, wird deren Operation
hier nicht im einzelnen beschrieben werden.
Eine periphere Untersystem-Schnittstelle (PSI) 200 ruft eine
Übertragung und eine Steuerverbindung für Austausch-Informationen
zwischen einem Massenspeicher-Peripherie-Prozessor 300
und der Eingabe/Ausgabe-Steuereinrichtung 106 hervor. Der Austausch
wird dadurch bewirkt, daß die Verknüpfungszustände verschiedener
Signalleitungen gesteuert werden, und zwar in Übereinstimmung
mit vorher festgelegten Regeln, die durch eine
Ablauffolge von Signalen realisiert sind, welche als "Dialog"
bezeichnet sind. Die Schnittstelle umfaßt eine Bedingungscode-
Eingabeleitung 200-1, eine Bedienungsfreigabe-Ausgangsleitung
200-2, eine Takt-Eingangsleitung 200-3, eine Takt-Ausgangsleitung
200-4, eine Abschluß-Eingangsleitung 200-4, eine
Abschluß-Ausgangsleitung 200-6 und eine Operations-Eingangsleitung
200-7 sowie eine Operations-Ausgangsleitung 200-8
und Datensammelleitungen D 0-D 07.
Wie aus Fig. 1 hervorgeht, vermag die Eingabe/Ausgabe-Steuereinrichtung
106 eine Vielzahl physikalischer Kanäle zu steuern,
die mit 200-1 bis 200-n bezeichnet sind und die die Eingabe/Ausgabe-
Steuereinrichtung mit einem peripheren Prozessor einer Anzahl
peripherer Prozessoren 300 bis 300-n verbinden. Jeder
periphere Prozessor nimmt einen Informationsaustausch mit jeder
seiner zugehörigen peripheren Einrichtungen über eine Einrichtungs-
Ebenen-Schnittstelle (DLI) vor, und zwar in Übereinstimmung
mit bestimmten Dialog-Folgen.
Die Einrichtungs-Ebenen-Schnittstelle sorgt für den Austausch
von Daten und Steuerinformation zwischen einem peripheren
Prozessor und angeschlossenen peripheren Einrichtungen. Es
dürfte einzusehen sein, daß die Schnittstellenleitungen lediglich
für einen bestimmten Typ der Einrichtung gemeinsam sind.
Die angegebene bestimmte Schnittstelle verbindet eine Massenspeichereinrichtung
500 mit dem peripheren Massenspeicher-
Prozessor 300, wie dies in Fig. 1 gezeigt ist. Wie die Eingabe/
Ausgabe-Steuereinrichtung 106 Daten und Steuerungsinformation
zwischen einer Vielzahl von peripheren Prozessoren auszutauschen
imstande ist, kann jeder periphere Prozessor Daten und Steuerungsinformation
zwischen sich und einer Vielzahl von peripheren Einrichtungen
austauschen. Der Einfachheit halber ist lediglich eine
einzige periphere Einrichtung als mit jedem peripheren Prozessor
gemäß Fig. 1 verbunden dargestellt.
Aus Fig. 1 geht ferner hervor, daß das Speicher-Untersystem 104
eine Speicher-Schnittstelleneinheit 104-2 und einen Hauptspeicher
104-4 enthält. Wie dargestellt, kann das Hauptspeicher-
Untersystem zwischen 1 und 4 Speicheranschlüssen aufweisen,
deren jeder eine Speicherkapazität von 256 Kilobytes bereitstellt.
Die Speicher-Schnittstelleneinheit 104-2 enthält die
Verknüpfungs- und Steuerschaltungen, die für die Herstellung
einer Nachrichtenverbindung zwischen einem Speicheranschluß
und der Zentraleinheit und der Eingabe/Ausgabe-Steuereinrichtung
erforderlich sind. Für die Zwecke der vorliegenden Erfindung
können diese Einheiten als in herkömmlicher Weise
aufgebaut angesehen werden. Bei der bevorzugten Ausführungsform
verwendet das Hauptspeicher-Untersystem 104-4 einen MOS-
Halbleiterspeicher. Wie aus Fig. 1 hervorgeht, besteht das
Hauptspeicher-Untersystem aus 1 bis 4 Hauptspeichereinheiten,
deren jede über ein entsprechendes Kabel der Kabel 104-6
bis 104-9 mit dem Prozessor-Untersystem verbunden ist, wie
dies dargestellt ist. In dem Prozessor selbst ist ein Speicheranschluß
an einer Speichereinheit angeschlossen. Jede Hauptspeichereinheit
enthält eine Speichersteuereinrichtung oder
eine Hauptspeicher-Folgesteuereinheit und bis zu acht Speicher-
Untereinheiten. Jede Untereinheit enthält vier Bereiche, deren
jeder ein 8K-zu-10-Bit-Speicherfeld enthält. Jede Hauptspeicher-
Steuereinrichtung arbeitet in der Weise, daß die erforderlichen
Lese/Schreib-Speicheroperationen ausgeführt werden, die für den
Zugriff zu einem Informationswort erforderlich sind, welches
9-Bit-Informationsbytes umfaßt.
Bevor mit einer Erläuterung des gemäß der Erfindung benutzten
Massenspeicher-Prozessors 300 gemäß Fig. 1 begonnen wird, sei
zunächst die Art und Weise erläutert, in der eine Information
in einem Speichersystem auftritt, in welchem die vorliegende
Erfindung benutzt wird. Die betreffende Erläuterung wird dabei
lediglich als beispielsweise Erläuterung gegeben, die indessen
nicht als Beschränkung der vorliegenden Erfindung aufgefaßt
werden sollte.
Eine Information wird im allgemeinen längs Umfangsspuren auf
einer sich drehenden Einrichtung, wie einer Platte, in Aufzeichnungen
gespeichert, die eine Anzahl von Informationsfeldern
umfassen. Diese Felder enthalten ein Zählerfeld, ein Kennzeichenfeld
und ein Datenfeld. Normalerweise zeigt eine Indexmarkierung
den physikalischen Anfang der jeweiligen Spur an, wobei sämtliche
Spuren in einer Plattenpackung durch dieselbe Indexmarkierung
synchronisiert sind. Jeder Spur geht ein Spuradressen-
bzw. Hausadressenfeld für eine Adressenidentifizierung
und eine Spur-Deskriptoraufzeichnung (Aufzeichnung RO)
für die Anzeige des physikalischen Zustands der Spur voraus.
Die in einer Spur jeweils aufgezeichneten Informationsfelder
sind durch Spalte voneinander getrennt. Die Spaltlängen
variieren in Abhängigkeit von der Speichereinrichtung, der
Stelle innerhalb der Aufzeichnung, dem Format, der Bitdichte
und der Aufzeichnungslänge.
Eine Adressenmarkierung zeigt den Beginn der jeweiligen Aufzeichnung
für Steuerzwecke an. Jeder Adressenmarkierung geht
ein Synchronisationsbereich voran, der eine Vielzahl von
Synchronisationssignalen enthält, die für die Synchronisation
von Zeitsteuerschaltungen herangezogen werden, welche im Zuge
der Ausführung einer Leseoperation benutzt werden. Die oben
angegebenen verschiedenen Ausdrücke sind im übrigen in einer
als Anhang beigefügten Begriffsliste definiert. Die Bedeutung
dieser Felder wird später in Verbindung mit den Fig. 5a und 5b
noch erläutert werden.
In Fig. 2 ist ein detailliertes, jedoch vereinfachtes Blockschaltbild
eines gemäß den Prinzipien der vorliegenden Erfindung
aufgebauten peripheren Prozessors gezeigt. Aus Fig. 2 ergibt
sich dabei, daß die Hauptbereiche des Prozessors 300 folgende
Einrichtungen enthalten: einen peripheren Untersystem-Schnittstellensteuerbereich
(PSI) 302, einen Allzweckregisterbereich
314, einen Rechen- und Verknüpfungseinheitbereich (ALU) 316,
einen Festwertspeicher-Steuerbereich 304, einen Hochgeschwindigkeits-
Folgesteuerungsbereich 308, einen Einrichtungs-Ebenen-
Schnittstellensteuerbereich (DLI) 310, einen Lese/Schreib-
Pufferspeicherbereich (RWS) 306 und einen Zählerbereich 318.
Der periphere Untersystem-Schnittstellensteuerbereich 302
enthält Verknüpfungsschaltungen und Pufferregister, die für
die Verbindung des Prozessors mit einer asynchronen peripheren
Schnittstelle 200, die eine Breite von 1 Byte besitzt, erforderlich
sind und die die erforderlichen Daten und den Steuerungsdialog
festhalten, der für eine Nachrichtenverbindung bzw. für
eine Kommunikation mit der Eingabe/Ausgabe-Steuereinrichtung
benötigt wird. Wie aus Fig. 2 hervorgeht, ist dieser Bereich
an die verschiedenen Bereiche für die Aufnahme von Daten und die
Steuerung von Signalen über Übertragungsleiterwege 303-1 bis
303-5 angeschlossen. Der Bereich 302 ist in zwei Bereiche
unterteilt: in einen PSI-Steuerbereich bzw. peripheren Untersystem-
Schnittstellenbereich 302-1 sowie in ein Pufferregister
und in einen Steuerbereich 302-50. Diese Bereich werden hier
im einzelnen beschrieben werden. Der ALU-Bereich 316 ist neben
dem Anschluß an dem Pufferbereich 302-50 ferner an dem Pufferspeicherbereich
306 und dem Allzweckregisterbereich 314 angeschlossen,
und zwar über die Wege 303-5 bzw. 303-6. Der
ALU-Bereich 316 führt Verknüpfungs-Rechen- und Registerübertragungsfunktionen
innerhalb des Prozessors aus. Die verschiedenen
Betriebsarten für die Rechen- und Verknüpfungseinheit
ALU werden durch Signale festgelegt, die über den Leiterweg
303-9 von dem Festwertspeicher-Steuerbereich 304 her zugeführt
werden. Wie im einzelnen noch beschrieben wird, enthält
der Bereich bzw. Abschnitt 316 zwei identische Rechen- und
Verknüpfungseinheiten, die in herkömmlicher Weise aufgebaut
sind und die als Haupt-ALU bzw. als Hilfs-ALU bezeichnet sind.
Ferner enthält der betreffende Bereich bzw. Abschnitt die
den betreffenden Einheiten zugehörigen Steuer- und Fehlerprüf-
Verknüpfungsschaltungen. Die beiden Rechen- und Verknüpfungseinheiten
ALU sind aus zwei 4-Bit-MSI-Rechen- und
Verknüpfungseinheiten aufgebaut, die zur Bildung eines 8-Bit-
Ausgangssignals miteinander verbunden sind. In Abhängigkeit
von den Zuständen der Eingangssignale, die den Freigabe-Übertragungs-,
Eintrag- und Betriebssteuereingangsanschlüssen der
Rechen- und Verknüpfungseinheiten zugeführt werden, können
diese Rechen- und Verknüpfungseinheiten veranlaßt werden,
16 Verknüpfungsoperationen oder 32 verschiedene Rechenoperationen
auf zwei Operanden hin auszuführen, auf die hin sie
betrieben werden. Die beiden Rechen- und Verknüpfungseinheiten
arbeiten auf dieselben Operanden hin gleichzeitig, und die
Fehlerprüfschaltungen vergleichen die Ergebnisse der beiden
Rechen- und Verknüpfungseinheiten. Der Allzweckregisterbereich
314 enthält 16 Allzweckregister mit einer Breite von
8 Bit; er bewirkt die Speicherung der Information, die während
einer bestimmten Operation benötigt wird (z. B. Befehlscodes,
Operanden der Rechen- und Verknüpfungseinheit, etc.). Darüber
hinaus enthält der betreffende Bereich bzw. Abschnitt 16 Multiplexer-
Auswahlschaltungen mit acht Eingängen von herkömmlichem
Aufbau. Von diesen Schaltungen kann der Inhalt von irgendeiner
Quelle von acht weiteren Quellen an die Rechen- und Verknüpfungseinheiten
als ein Operand abgegeben werden. Bei einer
bevorzugten Ausführungsform entsprechen die Allzweckregister
den Speicherplätzen eines adressierbaren Festkörper-Hilfsspeichers
von herkömmlichem Aufbau. Die Register sind durch
den Steuerspeicherabschnitt bzw. -bereich 304 und den Pufferspeicherbereich
306 über den Weg 303-8 bzw. über den Weg 303-12
adressierbar.
Der Spalt- und Datenzählerbereich 318 ist ferner über den
Leiterweg 303-10 mit dem Rechen- und Verknüpfungseinheitsbereich
316 verbunden. Dieser Bereich enthält Datenzähler-
Verknüpfungsschaltungen; Spalt-Zählerschaltungen liefern die
Hauptzählersteuerung während der Lese-, Schreib- und Suchoperationen.
Die Datenzählerschaltungen liefern eine Zählerstellung
bezüglich der Anzahl von Bytes, auf die hin gearbeitet wird.
Die Spalt-Zählerverknüpfungsschaltungen liefern eine Orientierungsinformation
durch Abgabe einer genauen Anzeige bezüglich
der Spaltlänge zwischen den Feldern einer Datenaufzeichnung,
die gelesen wird (z. B. bezüglich der Spaltlänge
zwischen den Kopf- und Kennzeichenfeldern, bezüglich der
Spaltlänge zwischen dem Kennzeichenfeld und dem Datenfeld, etc.).
Jeder der beiden Zähler enthält, wie hier erläutert wird, einen
Hauptzähler und einen Hilfszähler, und zwar zusammen mit
Weiterschalt-Schaltungen und Prüflogikschaltungen. Jeder Zähler
ist aus vier Synchron-4-Bit-Binärzähler-Chips aufgebaut, die
zur Bildung eines 16-Bit-Zählers zusammengeschlossen sind.
Die beiden Zähler des Datenzählers werden durch einen Mikrobefehl
geladen, und zwar mit derselben Zählerstellung, die
durch den Inhalt von ROSLR oder RWSLR angegeben ist. Der
Inhalt der beiden Zähler wird verringert, und die Zustände
beider Zähler werden durch Fehlerprüfschaltungen verglichen.
Wenn die Schaltungen eine fehlende Übereinstimmung feststellen,
bewirken sie das Einstellen einer Fehleranzeige. In entsprechender
Weise werden beide Zähler des Spalt-Zählers über
den Rechen- und Verknüpfungseinheit-Bereich 316 mit derselben
Zählerstellung geladen, die aus einem Konstantenfeld eines
Mikrobefehls abgeleitet ist. Auf eine Freigabe hin werden
die Zählerstellungen der Zähler durch Taktimpuls-Signale
von einer Taktschaltung 308-2 her verringert. (Dies bedeutet,
daß die Zählerstellung des Zählers alle 600 Nanosekunden
um 1 vermindert wird.) Die Fehlerprüfschaltungen prüfen
die Zähler hinsichtlich einer richtigen Operation, und zwar
in derselben Weise wie die Operation des Daten-Zählers geprüft
wird.
Der Festwertspeicher-Steuerbereich 304 bewirkt die Speicherung
für vorhandene Steuerungs- und Fehlerdiagnose-Mikroprogramme
(das heißt für 4K-32-Bit-Speicherworte). Der betreffende
Bereich weist, wie im einzelnen beschrieben wird, einen
Steuerspeicher auf, der zwei Abschnitte enthält. Der eine
Abschnitt wird für Maschinencodeoperationen benutzt, und
der andere Abschnitt wird für die Emulsion von Fremdsystemen
benutzt. Bei der bevorzugten Ausführungsform ist
der Steuerspeicher unveränderlich; er ist aus herkömmlich
aufgebauten programmierbaren Festwertspeicher-Chips (PROM)
aufgebaut. Es dürfte einzusehen sein, daß der Steuerspeicher
auch aus herkömmlich aufgebauten Speicher-Chips mit wahlfreiem
Zugriff (RAM) gebildet bzw. aufgebaut werden kann.
Demgemäß kann er mit Mikrobefehlen durch externe Einrichtungen,
wie eine Bandkassetten-Einrichtung, geladen werden.
Der Bereich bzw. Abschnitt 304 enthält ferner zugehörige
Adressierungs-, Steuerungs-, Dekodierungs- und Paritätsverknüpfungsschaltungen.
Zusätzlich sind Adressen-Steuerschaltungen
enthalten, die die Verzweigung zwischen drei
Ebenen von Mikrobefehls-Subroutinen freigeben.
Der Lese/Schreib-Speicherbereich 306 ist über die Leiterwege
303-1, 305-5 und 303-12 mit anderen Bereichen verbunden,
wie dies in Fig. 2 gezeigt ist. Dieser Bereich enthält
einen änderbaren Lese/Schreib-Speicher von 1,5 K · 10 Bits;
er wird für die Speicherung von Einrichtungsparameter-
Bytes verwendet, und zwar zusätzlich zur Bereitstellung
eines Kurzzeitspeichers für Steuerungs- und Datenbehandlungsoperationen
(zum Beispiel für die Zustands- und Adresseninformation).
Der Einrichtungs-Ebenen-Schnittstellen-Steuerbereich 310
enthält einen integrierten Steueradapter, der als Block 310-2
bezeichnet ist, welcher mit den Wegen 310-4 und 400 verbunden
ist. Der Adapter enthält Verknüpfungsschaltungen
und Pufferregister, die für die Bildung einer Schnittstelle
mit Plattenspeichereinrichtungen des Systems erforderlich
sind, und zwar für die Steuerung von Einrichtungsoperationen
und für die Erzeugung von erforderlichen Dialog-Ablauffolgen
über die Sammelleitung 400. Dies bedeutet, daß der betreffende
Bereich die Auswahl der bezeichneten Platteneinrichtung und
die Ausführung der verschiedenen Befehle freigibt. Die Pufferregister
stellen eine Schnittstelle zwischen den asynchron
betriebenen Einrichtungs-Adapterschaltungen und den synchron
betriebenen Massenspeicher-Prozessor-Verknüpfungsschaltungen dar.
Nunmehr werden die oben beschriebenen Bereiche unter Bezugnahme
auf die Fig. 3a bis 3k näher erläutert.
Der Periphere Untersystem-Schnittstellen-Steuerbereiche bzw.
PSI-Steuerbereich 302 und der Pufferregister- und Steuerbereich
302-50 sind in Fig. 3a bzw. 3b im einzelnen dargestellt.
Aus Fig. 3a geht dabei hervor, daß dieser Bereich eine Vielzahl
von Empfänger/Steuerlogikschaltungen 302-3 enthält,
die derart betrieben sind, daß digitale Steuer und Datensignale
für die Schnittstelle 200 bereitgestellt werden. Die
Empfänger/Steuerschaltungen können als in herkömmlicher Weise
aufgebaut betrachtet werden.
Wie aus Fig. 3a hervorgeht, übertragen ein Lesepuffer 302-14
und ein Schreib-Puffer eine Information zwischen den Schnittstellen-
Treiberschaltungen bzw. -Steuerschaltungen und den
Empfängerschaltungen sowie den Datenpuffern des Pufferbereichs
302-50.
Der Lese-Puffer 302-14 enthält eine Vielzahl von Verstärker-
Verriegelungsschaltungen, die von herkömmlichem Aufbau sind.
Während Leseoperationen werden Ausgangssignale von dem A-
Puffer des Bereichs 302-50 über eine Bus-Leitung 302-16 in den
Lese-Puffer 302-14 geladen, wenn ein Steuersignal PAATP 10
in ein Binärsignal 1 umgeschaltet wird. Wie erläutert wird,
wird dieses Signal durch in diesem Block 302-4 enthaltende
asynchrone Schaltungen erzeugt. Dieser Block enthält, kurz
gesagt, eine Vielzahl von Verriegelungs-Verstärkerschaltungen,
die einstellbar und zurückstellbar sind, und zwar durch die
Eingabe/Ausgabe-Steuereinrichtung mittels Signale, die an
verschiedene Leitungen der Schnittstelle 200 abgegeben werden.
So signalisieren zum Beispiel die asynchronen Verknüpfungsschaltungen
der Eingabe/Ausgabe-Steuereinrichtung das Vorhandensein
von Daten, die in dem Lese-Puffer gespeichert sind, und
zwar durch Einstellen bzw. Setzen der Leitungen STI oder
TMI. Der Lese-Puffer 302-14 speichert so lange Bytes, bis
die Eingabe/Ausgabe-Steuereinrichtung eine der Leitungen
STO oder TMO zurücksetzt. Dies führt seinerseits zur Zurückstellung
entsprechender Verriegelungsschaltungen.
Der Schreib-Puffer 302-12 enthält eine Vielzahl von Registerstufen,
die von herkömmlichem Aufbau sind. Der Puffer 302-12
nimmt Eingangssignale auf, die in dem Puffer auf ein Ausgabe-
Datengültigkeits-Signal PADV 10 gespeichert werden, das in
einen Binärzustand 1 umgeschaltet ist. Dieses Signal wird
durch asynchrone Verknüpfungsschaltungen erzeugt, wenn die
Eingabe/Ausgabe-Steuereinrichtung das Abtast-Ausgangs-Signal
P 1 STO 10 des Schreib-Puffers werden selektiv in die Puffer
A, E oder F geladen, und zwar in Abhängigkeit von ihrer
Verfügbarkeit des Bereichs 302-50 durch Steuersignale.
Diese Steuersignale werden durch die Steuerschaltungen 302-70
und 302-72 auf das Signal PAPRF 10 hin erzeugt.
Der PSI-Steuerbereich 302-1 enthält ferner die in 302-12
enthaltenen synchronen Steuerverknüpfungsschaltungen. Die
synchronen Steuerschaltungen enthalten eine Vielzahl von
Flipflops, die durch Mikroperations-Signale von dem Festwertspeicher-
Steuerbereich 304 her setzbar sein können.
Diese Signale werden über eine Eingangs-Busleitung abgegeben,
die in Fig. 3a mit 302-14 bezeichnet ist. Außerdem können
die betreffenden Schaltungen durch Signale gesetzt werden,
die über die Schnittstelle 200 zugeführt werden. Die Mikrooperationssignale
können zum Beispiel die Aktivität in der
peripheren Untersystem-Schnittstelle 200 auslösen, und zwar
durch Setzen eines der drei Folgesteuerungs-Flipflops, die
in diesem Bereich enthalten sind. Dies bedeutet, daß ein
Mikrobefehl das Setzen eines Anforderungs-Daten-Flipflops
RQD bewirken kann, welches die Schnittstelle 200 vorbereitet,
um Daten-Bytes von der Eingabe/Ausgabe-Steuereinrichtung
her aufzunehmen. Mikrooperations-Signale von einem anderen
Befehl können ebenfalls ein Datenübertragungs-Flipflop DDT
veranlassen, die Schnittstelle 200 in den Stand zu versetzen,
Daten-Bytes an die Eingabe/Ausgabe-Steuereinrichtung
zu übertragen. Ein weiterer Befehl kann Mikrooperations-
Signale erzeugen, die ein Bedienungscode-Flipflop DSC in
den Stand setzen, die Schnittstelle 200 für die Signalisierung
einer Übertragung eines Bedienungscodes oder einer
Befehlsinformation an die Eingabe/Ausgabe-Steuereinrichtung
zu konditionieren. Die anderen Flipflops umfassen ein End-
Flipflop TRM, ein Bedienungscode-Eintritts-Flipflop SCR,
ein Bedienungsfreigabe-Austritt-Flipflop SEO, ein Operations-
Austritt-Flipflop OPO und ein Operations-Eintritt-Flipflop
OPI. Einige dieser Flipflops werden auch durch Mikrooperationssignale
gesetzt und zurückgestellt, und zwar zur Steuerung
der Übertragung von Befehls- und Daten-Bytes über die Schnittstelle
200. Die Operation dieser Flipflops wird für ein
Verständnis der vorliegenden Erfindung noch näher beschrieben
werden.
Jedes der in dem synchronen Steuerbereich 302-12 enthaltenen
Flipflops erhält PDA-Taktsignale von einer zentralen Takt-
oder Zeitsteuerungsquelle 308-2, die in dem Bereich 308
enthalten ist. Die Taktschaltung kann als in herkömmlicher
Weise ausgeführt angesehen werden; sie kann zum Beispiel
Schaltungen enthalten, wie sie in der US-PS 37 25 871 angegeben
sind.
Es dürfte ferner ersichtlich sein, daß der Bereich bzw.
Abschnitt 302-1 einen 2-Byte- oder 16-Bit-Rückwärtszähler
enthält, der vier 4-Bit-Binärzählerstufen enthält, die von
herkömmlichem Aufbau sind. Dieser Zähler wird von den asynchronen
Steuerverknüpfungsschaltungen des Blocks 302-4
dazu benutzt zu bestimmten, wenn ein Beendigungs-Eintritts-
Flipflop TMI zu setzen ist. Ein Hilfszähler 302-10 ist
ebenfalls enthalten, um die Vergleicherschaltungen des
Blocks 302-8 freizugeben für die Feststellung des Auftretens
eines Zählerausfalls. Dies bedeutet, daß der Hilfszähler
302-10 und der Hauptzähler 302-6 auf einen Eingabe/Ausgabe-
Mikrobefehl hin von derselben Quelle her geladen werden (zum
Beispiel über den ALU-Bereich 318 von dem Steuerspeicher des
Bereichs 304 oder von dem Pufferspeicher des Bereichs 306).
Außerdem werden die Zählerstellungen beider Zähler durch ein
Taktsignal PCCLK 10 von den Steuerschaltungen 302-4 her
verringert. Die Vergleicherschaltungen des Blocks 302-8
nehmen eine Prüfung vor um zu bestimmen, ob beide Zähler
im selben Zustand sind, wenn der Inhalt eines der Zähler
auf Null verringert worden ist. In dem Fall, daß die betreffenden
Zähler nicht im selben Zustand sind, veranlassen
die Schaltungen das Setzen einer Fehleranzeige. Sind die
Zählerstellungen beider Zähler auf Null verringert worden,
so schalten die Schaltungen des Blocks 302-8 ein Zähler-
Gleichheits-Null-Signal PCCEO 20 in den Binärzustand Null
um. Dieses Signal zeigt an, daß die erforderliche Anzahl
von Bytes übertragen worden ist (das heißt, daß kein
Fehler angezeigt wird). Zur weiteren Information bezüglich
der Arten von Schaltungen, die zur Ausführung der Zähler,
Register und der anderen hier beschriebenen Schaltungen verwendet
werden kann, sei auf die Druckschrift "The Integrated
Circuits Catalog for Design Engineers" der Firma Texas
Instruments Inc., 1972, hingewiesen.
Aus Fig. 3b geht hervor, daß jeder Bereich 302-50 sechs
Register 302-52 bis 302-57, die hier als Register A bis F
bezeichnet werden, und zugehörige Steuerverknüpfungs-Schaltungen
enthält, die in den Blöcken 302-70 und 302-72 enthalten
sind. Jedes Register weist 11 Stufen auf: Neun Stufen
für die Speicherung der acht Datenbits und des Paritätsbits
eines Bytes, eine Stufe für die Speicherung eines Markierungs-
oder eines Anzeigebits, das ein volles Register anzeigt,
und eine Stufe für die Speicherung eines End-Ausgabe-Anzeigebits.
Die Daten- und Steuerinformations-Bytes werden zwischen
Lese- und Schreibpuffern des Bereichs 302-1 und einer
Schreib-Multiplexerschaltung und einem Lesepuffer bit-
parallel oder byte-seriell übertragen. Die Übertragungsrichtung
und der Übertragungsweg werden durch die Zustände
von Flipflops bestimmt, die in dem Hochgeschwindigkeits-
Ablaufsteuerbereich 308 enthalten sind. Wie erläutert wird,
werden diese Flipflops in bestimmte Zustände voreingestellt,
und zwar durch Mikrobefehle, und die von den Flipflops
an die Schaltungen der Steuerblöcke 302-70 und 302-72
abgegebenen Eingangssignale versetzen diese Schaltungen
in den Stand für derartige Übertragungen.
Die Arten der Betriebsweisen, die angegeben werden können,
sind folgende: Die erste Betriebsart (eine Nicht-Ablaufsteuerungs-
Aktiv-Betriebsweise-NSA) stellt den statischen
Zustand des Prozessors dar, in welchem keine Datenübertragungen
zu/von den Platteneinheiten oder zu/von der Eingabe/Ausgabe-
Steuereinrichtung stattfinden. Die Schaltungen des
Blocks 302-70 und 302-72 werden derart konditioniert,
daß die Register 302-52, 302-53 und 302-54 arbeitsmäßig
mit der peripheren Untersystem-Schnittstelle verbunden sind,
und die Register D, E und F sind arbeitsmäßig mit dem
Einrichtungsadapter 310-2 verbunden. Die Zustände zweier
Signale CQTXI 10 und CQTXO 10, die durch in den Ablaufsteuerschaltungen
enthaltene Übertragungs-Eintritts- und
Übertragungs-Austritts-Flipflops erzeugt werden, bestimmen
die Richtung von Byte-Übertragungen für die Gruppen der
Register A bis C und D bis F. Die Richtungen der Übertragung
für die Zustände dieser Signale sind beispielsweise
folgende:
- 1) CQTXI 00 (1) = PSI → reg A → reg B → reg C
Warten auf Prozessor (Firmware)-Maßnahme; - 2) CQTXI 10 (1) = reg C → reg B → reg A →
Warten auf PSI-Maßnahme; - 3) CQTXO 00 (1) = Einrichtungsadapter → reg F → reg E → reg D
Warten auf Prozessor (Firmware)-Maßnahme; und - 4) CQTXO 10 (1) = reg D → reg E → reg F → Potentialanhebung der Anforderungsleitung → Warten auf Einrichtungsadapter-Maßnahme.
Weitere Betriebsarten, nämlich Unterbetriebsarten, werden
durch Ausnutzung der Zustände dieser beiden Signale wie
folgt abgeleitet:
- 1. CQTXI 00 & CQTXO 00 - Normalzustand des Prozessors. Bei dieser Betriebsart werden Bytes von PSI und/oder dem Einrichtungsadapter in den Prozessor übertragen.
- 2. CQTXI 00 & CQTXO 10 - Bei dieser Betriebsart werden Steuerinformationsbytes zu dem Einrichtungsadapter und/ oder der Einrichtung übertragen.
- 3. CQTXI 10 & CQTXO 00 - Bei dieser Betriebsart werden Informationen, wie Bedienungscodebytes, Zustandbytes, zur Eingabe/Ausgabe-Steuereinrichtung übertragen.
- 4. CQTXI 10 & CQTXO 10 - Bei dieser Betriebsart werden die Übertragungen der Betriebsarten 2 und 3 kombiniert.
Eine weitere Betriebsart ist eine Schreiboperations-Betriebsart,
die durch den Zustand eines Steuersignals CQWTO 10 festgelegt
wird, das durch ein in den Folgesteuerungsschaltungen
enthaltenes Schreiboperations-Ablaufsteuerungs-Flipflop erzeugt
wird. Wenn das Signal CQWTO 10 als Binärsignal 1 auftritt
bzw. in diesen Zustand umgeschaltet wird, führt es
das Signal CQTXO 10 und das Signal CQTXI 00 in den Binärzustand
1 bzw. Null. Diese Signale veranlassen die Register, Bytes
von PSI an den Einrichtungsadapter oder an den Lese/Schreib-
Speicher etc. zu übertragen.
Die nächste Betriebsart ist eine Lese-Betriebsart, die durch
den Zustand eines Signals CQRDO 10 festgelegt wird, das durch
ein in den Ablaufsteuerschaltungen bzw. Folgesteuerschaltungen
enthaltenes Leseoperations-Ablaufsteuerungs-Flipflop erzeugt
wird. Das Signal CQRDO 10 bewirkt zusammen mit dem Signal
PADDT 10 von dem PSI-Steuerbereich 302-1, daß die Signale
CQTXI 10 und CQTXO 00 in den Binärzustand 1 bzw. Null umgeschaltet
werden. Dies ermöglicht, Bytes aus dem Einrichtungsadapter
durch die Register 302-57 bis 302-57 zu PSI hin
zu verschieben.
Eine weitere Betriebsart ist eine Suchoperations-Betriebsart,
die durch den Zustand eines Signals CQSHO 10 festgelegt wird,
welches durch ein in den Ablaufsteuerschaltungen enthaltenes
Suchoperations-Ablaufsteuerungs-Flipflop erzeugt wird. Das
Signal CQSHO 10 konditioniert den RWS-Bereich während Suchoperationen,
wodurch die Übertragung von Bytes durch die Register
von dem Einrichtungsadapter oder von PSI zu dem ALU-
Bereich 316 hin ermöglich ist, um in den Lese/Schreib-
Speicherbereich 306 eingeschrieben zu werden.
Die Steuerblöcke 302-70 und 302-72, wie sie aus Fig. 3b
ersichtlich sind, erzeugen die Signale, die für die Übertragung
von Bytes zwischen den Registern zu dem jeweils
in Frage kommenden Zeitpunkt erforderlich sind (das heißt
dann, wenn die Register leer sind). Die dargestellten Signale
werden entsprechend folgenden booleschen Ausdrücken erzeugt.
Die Zeichen "+" und "·" geben "ODER"- bzw. "UND"-Operationen
an.
Dies ist ein Übertragungssignal von der peripheren Untersystem-
Schnittstelle PSI zu dem A-Register hin; das betreffende
Signal tritt mit hohem Pegel auf, wenn das Übertragungs-
Eintritts-Flipflop sich im Rückstellzustand befindet
(das heißt dann, wenn das Signal CQTXI 00=1 ist),
wenn keine Übertragung von der Schnittstelle PSI zu dem
E-Register oder dem F-Register hin erfolgt (das heißt,
daß die Signale CDPTE 00 und CDPTF 00=1 sind), wenn
ferner das A-Register nicht voll ist (das heißt, daß
das Signal CDARF 00=1 ist) und wenn das Schreibregister
voll ist (das heißt, daß das Signal PAPRF 30=1 ist).
Dies ist die Anzeige für ein volles Register für das PSI-
Schreibregister, welches gesetzt wird, wenn PAODV 10 mit
hohem Pegel auftritt und wenn eine gültige Ablauffolge
im weiteren Verlauf vorhanden ist (das heißt, daß PKVSP 10
=1 ist). Dieses Anzeigeglied wird zurückgestellt, wenn
PTX mit hohem Pegel auftritt. Dadurch wird der Inhalt des
Schreibregisters in das A-, E- oder F-Register übertragen.
Dies ist eine Übertragung des Inhalts des A-Registers in
des PSI-Leseregister. Dabei tritt ein Signalwert lediglich
während der Leseoperationen auf (das sin Datenübertragungen
zur Eingabe/Ausgabe-Steuereinrichtung). Das betreffende Signal
tritt jeweils dann mit hohem Pegel auf, wenn die PSI-Schnittstelle
sich in einem Lesebetrieb befindet (das heißt, daß
das PKDDT 10-Signal vorhanden ist), wenn sich kein Abtastzyklus
in der Entwicklung befindet, die Ablauffolge gültig ist, der
PSI-Zähler eine von Null abweichende Zählerstellung besitzt
und ein gültiges Byte in dem A-Register vorhanden ist (das heißt,
daß das Signal PKADV 10=1 ist). Dabei bleibt der Setzzustand
lang genug erhalten, um sicherzustellen, daß die Signale PKSTI 10,
PKTMI 10 und PKATP 30 gesetzt sind und das Vollständigkeits-
Anzeigeglied für das A-Register zurückgestellt ist (das heißt,
daß CDARF 00=1 ist).
Das die Übertragungs vom A-Register zum B-Register betreffende
Übertragungssignal tritt mit hohem Pegel auf, wenn das Eingangs-
Übertragungssignal CQTXI 00 eine Null ist und das B-Register
leer ist (das heißt, daß das Signal CDBRF 00=1 ist).
Das betreffende Signal tritt auch mit hohem Pegel dann auf,
wenn ein die Übertragung von B-Register zu dem C-Register betreffendes
Übertragungssignal mit hohem Pegel auftritt
(das heißt, daß das Signal CDBTC 10=1 ist).
Dies ist ein die Übertragung vom B-Register zum A-Register betreffendes
Übertragungssignal, das mit hohem Pegel auftritt,
wenn das Übertragungs-Eintritts-Folgesteuerungs-Flipflop
gesetzt ist (das heißt, daß das Signal CQTXI 10=1 ist),
das A-Register leer ist (das heißt, daß das Signal CDARF 00
=1 ist) und keine weitere Übertragung vom F-Register oder
ALU her (das heißt, daß die Signale CDFTA 00 und CFARL 20=
sind) erfolgt.
Dies ist ein die Übertragung vom B-Register zum C-Register
betreffendes Übertragungssignal, das mit hohem Pegel auftritt,
wenn das Übertragungs-Eintritts-Ablaufsteuerungs-Flipflop
zurückgestellt ist (das heißt, daß das Signal CQTXI 00=1
ist) und das B-Register leer ist (das heißt, daß das Signal
CDBRF 00=1 ist). Das Signal tritt mit hohem Pegel auf,
wenn der Inhalt des C-Registers zu dem D-Register auf Schreiboperationen
hin übertragen wird (das heißt, daß die Signale
CDCTD 10 und CQTXI 00=1 sind).
Dies ist ein die Übertragung von dem C-Register zu dem B-
Register betreffendes Übertragungssignal, das dann mit hohem
Pegel auftritt, wenn das Übertragungs-Eintritts-Ablaufsteuerungs-
Flipflop im Setzzustand ist (das heißt, daß das
Signal CQTXI 10=1 ist), das A-Register und/oder das B-Register
leer ist (das heißt, daß das Signal CDABE 10=1 ist) und
keine Übertragung von dem F-Register zu dem B-Register hin erfolgt
(das heißt, das das Signal CDFTB 00=1 ist).
Dies ist ein die Übertragung von dem C-Register zu dem D-Register
betreffendes Übertragungssignal, das lediglich während
Schreiboperationen mit hohem Pegel auftritt.
Dies ist ein die Übertragung von dem D-Register zu dem C-
Register betreffendes Übertragungssignal, das während einer
Leseoperation mit hohem Pegel auftritt (das heißt, daß das
Signal CQRDO 10=1 ist), wenn das Register A, B oder C
leer ist.
Dies ist ein die Übertragung von dem D-Register zu dem E-
Register betreffendes Übertragungssignal, das dann mit hohem
Pegel auftritt, wenn das Übertragungs-Austritts-Folgesteuerungs-
Flipflop gesetzt ist (das heißt, daß das Signal CQTXO 10
=1 ist), das E-Register und/oder das F-Register leer ist (das
heißt, daß das Signal CDIDE 10=1 ist) und keine Übertragung
von PSI zu dem E-Register hin erfolgt (das heißt, daß
das Signal CDPTE 00=1 ist).
Dies ist ein die Übertragung von dem E-Register zu dem E-Register
betreffendes Übertragungssignal, das dann mit hohem Pegel auftritt,
wenn das Übertragungs-Austritts-Folgesteuerungs-Flipflop
zurückgestellt ist (das heißt, daß das Signal CYTXO 00=1 ist)
und das F-Register leer ist (das heißt, daß das Signal
CDDRF 00=1 ist). Das Signal tritt dann mit hohem Pegel auf,
wenn der Inhalt des D-Registers zu dem C-Register während
Leseoperationen übertragen wird (das heißt, daß das Signal
CDDTC 10=1 ist).
Dies ist ein die Übertragung von dem E-Register zu dem F-Register
betreffendes Übertragungssignal, das dann mit hohem Pegel auftritt,
wenn das Übertragungs-Austritts-Folgesteuerungs-Flipflop
gesetzt ist (das heißt, daß das Signal CQTXO 10=1 ist),
das F-Register leer ist (das heißt, daß das Signal CDEFA 10
=1 ist) und keine Übertragung von PSI zu dem F-Register
hin erfolgt (das heißt, daß das Signal CDPTF 00=1 ist).
Dies ist ein die Übertragung von dem F-Register zu dem A-
Register betreffendes Übertragungssignal, das dann mit hohem
Pegel auftritt, wenn das Übertragungs-Austritts-Folgesteuerungs-
Flipflop zurückgestellt ist (das heißt, daß das Signal CQTXO 00
=1 ist), das E-Register leer ist (das heißt, daß das
Signal CDERF 00=1 ist) und keine Übertragungen von dem F-Register
zu dem A-Register oder zu dem B-Register hin erfolgen
(das heißt, daß die Signale CDFTA 00 und CDFTB 00=1 sind).
Das Signal tritt während der Übertragung des Inhalts des E-Registers
zu dem D-Register hin mit hohem Pegel auf (das heißt, daß
das Signal CDETD 10=1 ist).
Dies ist ein die Übertragung von Lesedaten zu dem F-Register
betreffendes Übertragungssignal, das dann mit hohem Pegel
auftritt, wenn ein Datenquittungssignal von dem Einrichtungsadapter
her mit hohem Pegel auftritt, das Übertragungs-Austritts-
Folgesteuerungs-Flipflop zurückgestellt ist (das heißt,
daß das Signal CQTXO 00=1 ist) und das F-Register leer ist
(das heißt, daß das Signal CDFRF 00=1 ist).
Dieser Bereich enthält die Zeitsteuerschaltungen der Blöcke
308-2 und 308-4 zusätzlich zu den Schaltungen mit den zugehörigen
Schaltkreisen. Wie erwähnt, erzeugt die Taktschaltung
308-2, die von herkömmlichem Aufbau ist, das Taktimpulssignal
für den Prozessor. Der Generator 308-4, der von herkömmlichem
Aufbau ist, erzeugt Schreibimpulssignale richtiger Polarität
und Phase aus den PDA-Signalen. Diese CLK-Impulse werden
den Registerschaltungen und den Zählerschaltungen der Bereiche
314 und 318 zugeführt, um diese Schaltungen für Schreiboperationen
bzw. Ladeoperationen zu konditionieren. Die
verschiedenen Ablaufsteuerungs- und Zyklus-Schaltungen sind
in Fig. 3c und 3d im einzelnen dargestellt. Die Folgesteuerungs-
Flipflops dieses Bereichs sind in Fig. 3c als durch Firmenware
setzbare Flipflops gezeigt, wobei das Setzen zu Beginn einer
Operation und das Rückstellen durch Hardware am Ende der
Operation erfolgt. Die aus den Mikrobefehlen abgeleiteten
Steuersignale weisen entweder ein "CE"- oder ein "CF"-Präfix
auf.
Wie aus Fig. 3c hervorgeht, enthalten die Hardware-Folgesteuerschaltungen
eine Gatter- und Inverterschaltung 308-10 und
Flipflops 308-1 bis 308-9 mit zugehörigen Gatterschaltungen
308-11 bis 308-92, die in der dargestellten Weise angeordnet
sind. Das Flipflop 308-1 ist ein erstes Durchlaß-Format-
Flipflop, welches in den Binärzustand 1 während Suchoperationen/
Schreiboperationen gesetzt wird. Das Flipflop 308-2 ist
ein Such-Flipflop, welches in den Binärzustand 1 während Suchoperationen
gesetzt ist. Das Flipflop 308-3 ist ein eine
Lese/Schreibspeicherung ermöglichendes Flipflop, welches in
den Binärzustand 1 gesetzt ist und eine Hardwaresteuerung
bezüglich des Lesens, Schreibens und Verkleinerns des Inhalts
des Lese/Schreibspeichers des Bereichs 306 gestattet. Das
Flipflop 308-4 ist ein Suchkopfoperations-Flipflop, das
auf sein Setzen in den Binärzustand 1 dem ALU-Bereich ermöglicht,
sämtliche 1-Bytes in einem Suchargument eines
Kennzeichenfelds einer Aufzeichnung während Suchkennzeichenoperationen
zu vergleichen.
Das Flipflop 308-5 ist das Übertragungs-Austritts-Folgessteuerungs-
Flipflop, das, wie erwähnt, die Richtung von
Byte-Übertragungen durch die Register D, E und F steuert.
Wenn dieses Flipflop in den Binärzustand 1 gesetzt ist,
ermöglicht es eine Übertragung von Bytes aus dem D-Register
zu dem E-Register und aus dem E-Register zu dem F-Register;
es bewirkt ferner die Umschaltung des CDDAK 10-Signals, wodurch
dem Einrichtungsadapter gemeldet wird, daß ein Byte
in dem F-Register enthalten ist, wenn das Voll-Flipflop in
den Binärzustand 1 gesetzt ist. Auf die Zurückstellung hin
ist eine Übertragung von Bytes aus dem F-Register zu dem
E-Register und aus dem E-Register zu dem D-Register ermöglicht.
Die Gatter- und Inverterschaltung 308-10 erzeugt das Übertragungs-
Eintrittssignal. Wie erwähnt, steuert dieses Signal
die Übertragung von Bytes durch die Register A, B und C.
Ist das Signal ein Binärsignal 1, so ermöglicht es die
Übertragung von Bytes von dem A-Register zu dem B-Register
und von dem B-Register zu dem C-Register. Das Setzen erfolgt
während der Leseoperationen (das heißt, daß das Signal
CQRDO 00=0 ist) oder dann, wenn entweder die Datenübertragungsschaltungen
oder die Bedienungscodeschaltungen freigegeben
sind (das heißt, daß das Signal PKDDT 00 oder
das Signal PKDSC 00=Null ist).
Das Flipflop 308-6 ist ein Zählspalt-Flipflop, das in
den Binärzustand 1 während Lese/Suchoperationen gesetzt
wird, wenn ein letztes Prüfbit verarbeitet wird (das heißt
dann, wenn entweder das Signal CQRDO 00 oder CQSHO 00=0
ist und wenn das Signal CDLBT 10=1). Das betreffende
Flipflop wird ferner während Schreiboperationen durch nicht
dargestellte Schaltungen gesetzt. Das Flipflop 308-8 ist
ein Leseoperations-Flipflop, das in den Binärzustand 1
während der Leseoperationen gesetzt wird. Das Flipflop 308-9
ist ein Schreib-Operations-Flipflop, das während Schreiboperationen
in den Binärzustand 1 gesetzt ist.
Bestimmte Signale der durch die oben angegebenen Schaltungen
erzeugten Signale werden an die Schaltungen des Hardware-
Zykluszählers abgegeben, den Fig. 3d im einzelnen zeigt.
Dabei ist ersichtlich, daß der Zähler Flipflops 308-100
bis 308-102 und zugehörige Eingangsschaltungen 308-110 bis
308-132 enthält, die in der dargestellten Weise angeschlossen
sind.
Das Flipflop 308-100 ist ein Vergleicherzyklus-Flipflop,
das durch Firmenware (das heißt, daß das Signal CFSHO 1 S=1
ist) während einer Suchoperation in den Binärzustand 1 gesetzt
ist. Das betreffende Flipflop wird in den Binärzustand
Null zurückgestellt, wenn ein Satzzeichen-Bitsignal ermittelt
wird (das heißt, daß das Signal CWNR 810=1 ist) und daß
erste Durchlauf-Flipflop nicht gesetzt ist (das heißt, daß
nicht der erste Durchlauf vorliegt). Das betreffende Flipflop
wird ferner zurückgestellt, wenn ein End-Austritts-Bit in
dem C-Register ermittelt wird (das heißt, daß das Signal
CDCRT 10=1 ist).
Die Flipflops 308-101 und 308-102 sind unter Bildung eines
zweistufigen Sprungzählers miteinander verbunden. Während
einer Schreiboperation (das heißt, daß die Signale CYWFB 10,
A 1 DAV 31 und CYFCW 10=1 sind) sperrt der Zähler die Verringerung
der Zählerstellung des Datenzählers des Bereichs
318 und bewirkt das "Festhalten" von Synchron-Bytes oder
Adressen und Synchron-Bytes. Während einer Leseoperation
verhindert der Zähler die Übertragung von Synchron-Bytes oder
Führungs-Bytes eines Felds einer gelesenen Aufzeichnung
zu PSI hin (das heißt, daß die Signale CQRSO 10, CDFTX 10
und CYIDT 00=1 sind). Der betreffende Zähler ermöglicht
jedoch das Einschreiben der betreffenden Signale erforderlichenfalls
in den Lese/Schreib-Speicherbereich 306 (zum
Beispiel des Kennzeichen-Bytes, das während einer Lesezähl-
Operation gelesen ist).
In Fig. 3e ist der Bereich 304 in Blockform dargestellt.
Wie ersichtlich, enthält der betreffende Bereich einen
Festwertspeicher 304-2, der über ein Adresenregister 304-4
adressierbar ist, welches eine 12-Bit-Adresse über einen
Weg 304-5 abgibt. Dieselbe Adresse wird einem Inkrement-
Register 304-6 zugeführt. Das Register 304-6 ist von
herkömmlichem Aufbau; es ermöglicht die Vergrößerung
seines Inhalts um 1 und das Laden in das Register 304-4
über den Weg 304-7 auf das Auftreten eines Inkrement-
Steuersignals CRINC 10 hin vorzunehmen, das durch Steuerschaltungen
des Blocks 304-8 als binäres Signal 1 abgegeben
wird.
Darüber hinaus wird der Inhalt des Registers 304-6 zwei
Rückführregistern 304-10 und 304-12 über den Weg 304-14
bzw. 304-16 zugeführt. Der Inhalt des Registers 304-6
wird selektiv geladen, und zwar auf ein Signal der beiden
Signale CFIR 110 und CFIR 210 hin, das als Binärsignal 1
abgegeben wird, und zwar durch die Verzweigungs-Sprung-Schaltungen
des Blocks 304-20. In ähnlicher Weise werden die Inhalte
der Rückführregister 304-10 und 304-12 selektiv in
das Adreßregister 304-4 geladen. Dies erfolgt über die
Wege 304-21 und 304-22 auf das Auftreten eines Signals
der beiden Signale CFR 1 S 10 und CFR 2 S 10 hin, wobei das
betreffende Signal durch die Verzweigungssprung-Schaltungen
304-20 als binäres 1-Signal abgegeben wird.
Wenn der Speicher 304-2 adressiert ist, werden Signale an
die Lese-Verriegelungs-Verstärkerschaltungen eines Registers
304-25 abgegeben, welches seinerseits Signale an die
Verzweigungssprung-Schaltungen 304-20 für die Dekodierung
und an das Adreßregister 304-4 über den Weg 304-26 bzw.
304-27 abgibt. Wenn die Verzweigungs-Sprung-Schaltungen
304-20 einen Verzweigungs-Mikrobefehl dekodieren und
die Prüfbedingung erfüllt ist, wird das Signal CFDTS 10
in den Binärzustand 1 überführt, und der Inhalt eines
Adressenfelds wird in das Register 304-4 geladen.
Zusätzlich wird ein Teil des Inhalts aus den Schaltungen 304-25
den Multiplexer-Auswahlschaltungen eines schnell arbeitenden
Verzweigungs-MUX-Blocks 304-28 zugeführt, der außerdem
eine Vielzahl von Prüfbedingungs-Eingangssignalen an Eingangsanschlüssen
2-31 erhält. Eines dieser Eingangssignale wird
von den Verknüpfungsschaltungen des Blocks 304-30 her zugeführt.
Außerdem nehmen die betreffenden Schaltungen Eingangssignale
von dem ALU-Bereich her auf (das heißt, daß die
Bus-Leitungs-Signale CARB 0-CARB 7 vorhanden sind). Die Schaltungen
des MUX-Blocks 304-28 erzeugen Ausgangssignale,
die kennzeichnend sind für Zustände, die geprüft werden.
Diese Ausgangssignale werden dem Verzweigungssprung-Block
304-20 zugeführt. Dieser Block wird in Verbindung mit Fig. 3f
im einzelnen beschrieben werden.
Die Inhalte der Schaltungen 304-25 werden selektiv den Flipflop-
Stufen eines örtlichen Registers 304-32 über einen Weg 304-31
zugeführt und in das Register geladen, wenn die in einem Verzweigungsprüfblock
304-34 enthaltenen Schaltungen ein Abtastsignal
CRSTR 10 als Binärsignal 1 abgegeben. Teile der Inhalte
des Registers 304-32 werden dem Verzweigungsprüfblock 304-34
und einer Multiplexer-Auswahlschaltung zugeführt, die in
dem Verzweigungs-MUX-Block 304-36 enthalten ist. Darüber hinaus
nimmt der MUX-Block Signale von ALU auf, wie dies angedeutet
ist. Außerdem lädt das Register 304-32 eine Adresse in das
Adreßregister 304-4, und zwar über einen Weg 304-37, wenn
der Verzweigungsprüfblock ein Signal CFNTS 10 als Binärsignal
1 abgibt. In einem Ablaufsteuerungs-Dekoder 304-38 enthaltene
Schaltungen erzeugen die Mikrooperations-Steuersignale auf
das Auftreten der Signale, die über einen Weg 304-39 von dem
Register 304-32 zugeführt werden.
Bevor die verschiedenen Blöcke gemäß Fig. 3e im einzelnen
beschrieben werden, werden zunächst die unterschiedlichen Arten
der Mikrobefehle und deren Formate unter Bezugnahme auf die
Fig. 4a bis 4g beschrieben.
In Fig. 4a ist ein Lese/Schreibspeicher (RWS)-Mikrobefehlswort
dargestellt, welches dazu benutzt wird, den Adressen-
und Datenweg einer aus dem Lese/Schreib-Speicherbereich 306
zu lesenden Information oder in diesen Bereich zu schreibenden
Information zu steuern. Wie aus dieser Figur hervorgeht, weist
dieses Mikrobefehlswort einen durch die Bits 0 bis 2 bezeichneten
Operationscode 101 auf. Die Bits 13 und 14
bilden ein Feld, welches die Stelle in dem Lese/Schreib-
Pufferpeicher angibt, die für ein Auslesen oder ein Einschreiben
eines einzigen Bytes vorgesehen ist. In dem Fall,
daß mehr als eine Einzelbyte-Lese/Schreib-Operation auszuführen
ist, gibt der Inhalt dieser Stelle eine Startadresse
an. Das nächste Feld ist ein Zählerfeld, welches die Bits
15 bis 18 enthält. Dieses Feld wird hauptsächlich für Lese/
Schreib- oder Suchzähler- oder Kopfadressenoperationen benutzt,
die entweder das Lesen oder Schreiben einer fortlaufenden
Information aus dem bzw. in den Lese/Schreib-Pufferspeicherbereich
erfordern. Die durch dieses Feld angegebene 4-Bit-
Zählerstellung kann zum Beispiel in die Byte-Position niedriger
Wertigkeit des in dem Bereich 318 enthaltenen Datenzählers
geladen werden, während die übrigen Stufen des Zählers durch
Hardware mit Nullen aufgefüllt werden. Die Bits 19 und 20
dienen als Adressenauswahlfeld, welches drei Wege angeben
kann, durch die die Firmenware eine Lese/Schreib-Speicheradresse
erzeugen kann. Diese Wege sind in der zugehörigen
Tabelle ausgeführt. Aus der betreffenden Tabelle ergibt sich
dabei, daß dann, wenn dieses Feld auf "01" gesetzt ist,
die Hardware den Inhalt des Lese/Schreib-Speicheradreßregisters
ohne Bezugnahme auf das RWS-Adreßfeld des Mikrobefehls
ausnutzt. Wenn das Feld auf "10" gesetzt ist, erzeugt
die Firmenware die Lese/Schreib-Speicheradresse dadurch, daß
eine vier Bits umfassende Zahl des gegenwärtigen Verknüpfungskanals
(LCN) in die Bitpositionen 2 bis 5 eines Lese/Schreib-
Speicheradreßregisters geladen wird. Die übrigen Bits der
Adressenbits werden aus dem RWS-Adressenfeld entnommen, das
in dem Mikrobefehl enthalten ist. Wenn dieses Feld auf "11"
gesetzt ist, wird die gesamte RWS-Adresse, die durch das
RWS-Adressenfeld des in dem örtlichen Festwertspeicherregister
enthaltenen Mikrobefehle angegeben ist, benutzt.
Die Bits 21 und 22 dienen als Sprungzählerfeld; sie werden
dazu herangezogen, die Anzahl an Bytes anzugeben, die
auszublenden sind, um in verschiedenen Betriebsarten zu arbeiten.
Die Bits 23 bis 26 stellen ein 4-Bit-Feld dar, welches
dazu benutzt wird, bestimmte Ablauffolgen anzugeben, die für
Lese/Schreib- oder Suchoperationen benötigt werden, welche
die Einspeicherung einer Information in den Hilfsspeicher
des Lese/Schreib-Speicherbereichs umfassen. Die Tabelle zeigt
den Typ der Operationen an, die durch unterschiedliche Kodierungen
der B-Unteroperationscodebits angegeben sind.
In Fig. 4b ist das Format eines unbedingten Verzweigungs-Mikrobefehls
gezeigt. Dieser Mikrobefehl ist einer von zwei "Schnellverzweigungs"-
Mikrobefehlen, die erfordern, daß die Bits
des Mikrobefehls von den Leseverstärker-Verriegelungsschaltungen
her dekodiert werden, um nämlich die Erzeugung einer nächsten
Mikrobefehls-Wortadresse innerhalb einer Taktimpuls-Zeitperiode
freizugeben. Wie aus dem Namen hervorgeht, wird dieser Mikrobefehl
dazu benutzt, eine Nicht-Prüf-Verzweigungsoperation zum
Zweck des Aufrufs eines weiteren Mikroprogramms oder einer
Routine anzugeben. Die Operationscodebits Null bis 2, wie sie
in Fig. 4b angegeben sind, werden als 110 kodiert. Das Bit 3
wird auf den Binärwert Null gesetzt um anzugeben, daß dies
eine unbedingte Schnellverzweigungs-Operation ist. Die Bits 4
und 5 entsprechen einem "Vorverzweigungszustands"-Feld, welches
dazu benutzt wird, das Setzen einer Rückführadresse vor der
unbedingten Verzweigung anzugeben. Der Festwertspeicher-Steuerbereich
304 enthält, wie erwähnt, insbesondere zwei Verzweigungs-
Rückführregister (das ist das Rückführ-Adreßregister 1
und das Rückführ-Adreßregister 2). Diese Register werden dazu
benutzt, die Adressen festzuhalten, wenn eine Verzweigung
von einer Routine zu einer anderen erfolgt. Wie durch die
Tabelle in Fig. 4b angedeutet, tritt die Verzweigung in
dem Fall, daß die Bits 4 und 5 auf "00" gesetzt sind,
auf, ohne daß irgendein Rückführregister auf eine bestimmte
Adresse einzustellen wäre. Wenn die Bits 4 und 5 auf "10"
gesetzt sind, ist die Verzweigungs-Hardware derart in Betrieb,
daß die laufende Adresse, die sich in ROSAR (304-4)
findet, um 1 erhöht wird und in das Rückführadreßregister
1 gespeichert wird, bevor eine Verzweigung auf eine neue
Adresse erfolgt. Nachdem die Routine-Verzweigung abgeschlossen
worden ist, wird der Inhalt des Rückführ-Adreßregisters 1
dazu benutzt, auf die erste oder ursprüngliche Routine zurückzukehren.
Wenn die Bits 4 und 5 auf "01" gesetzt sind,
wird das Rückkehr-Adreßregister 2 mit der Adresse des
Mikrobefehls geladen, nachdem diese um 1 vergrößert worden
ist. Dieses Adreßregister stellt eine zweite Ebene der
Verzweigungsrückkehr bereit. Wie durch dieselbe Tabelle angegeben,
ist es unerwünscht, die Bits 4 und 5 auf "11" zu
setzen, da dies nämlich zum Laden derselben Adresse in die
beiden Adreßregister 1 und 2 führt.
Wie durch Fig. 4b angegeben, stellen die Bits 6 bis 18
eine 12-Bit-Verzweigungsadresse dar, in der das Bit 18
das Bit niedrigster Wertigkeit ist und in der das Bit 6
ein Paritätsbit für eine ungerade Parität darstellt. Die
Bits 19 und 20 stellen ein "Verzweigung zum Adressenzustand"-
Feld dar, welches die in der Tabelle angegebenen Zustände
bezeichnet. Wenn diese Bits auf "00" gesetzt sind, führt
der Speicher eine Verzweigung zu einer Stelle hin aus,
die durch die Verzweigungsadresse des Mikrobefehls definiert
ist. Wenn die Bits 19 und 20 auf "01" gesetzt sind,
bewirkt der Speicher eine Verzweigung zu einer Adresse, die
in dem Rückkehr-Adreßregister 1 enthalten ist. Demgegenüber
bewirkt der betreffende Speicher eine Verzweigung zu
der in dem Rückkehr-Adreßregister 2 enthaltenen Adresse,
wenn diese Bits auf "10" gesetzt sind. In ähnlicher Weise
werden die Bits 19 und 20 nicht auf "11" gesetzt, da dies
einen unzulässigen Zustand definiert. Die Bits 21 bis 26
enthalten normalerweise nur Nullen, da sie ein nicht benutztes
Feld bilden. Die übrigen Bits sind wie angedeutet.
In Fig. 4c ist das Format des zweiten Schnellverzweigungs-
Mikrobefehls gezeigt, der einem bedingten Schnellverzweigungs-
Mikrobefehl (FCB) entspricht. Wie dargestellt, besitzt
der betreffende Mikrobefehl denselben Operationscode wie
der unbedingte Verzweigungs-Mikrobefehl; das Bit 3 ist
jedoch auf den Binärwert 1 gesetzt. Das Bit 4 dient als
Setz-Rückführadreßregister-1-Feld. Wenn dieses Bit auf
den Binärwert 1 gesetzt ist und wenn das Prüfergebnis positiv
ist, wird der Inhalt des Festwertspeicher-Adreßregisters
um 1 erhöht und in dem Rückführadreßregister 1 gespeichert.
Der Speicher führt dann eine Verzweigung zu der Stelle hin
aus, die durch das Verzweigungsadressenfeld des bedingten
Schnellverzweigungs-Mikrobefehls bezeichnet ist. Das Bit 5
ist ein Rücksetz-Prüf-Flipflop-Feld-Bit, das im Setzzustand
die Zurückstellung bestimmter Prüf-Flipflops nach der Beendigung
der Prüfung bewirkt. Eines dieser Flipflops entspricht
einem hier beschriebenen Befehlsende-Flipflop.
Die Bits 6 bis 18 bilden ein Verzweigungsadressenfeld,
während die Bits 19 bis 23 ein Mulitplex-Prüfzustandsfeld
bilden. Die Prüfzustände bzw. Prüfbedingungen sind so festgelegt,
wie dies in der Tabelle 1 gemäß Fig. 4c angegeben
ist. Dabei können bis zu 31 Flipflops vorhanden sein,
die geprüft werden können. Die Tabelle gibt einige der
einschlägigeren Flipflops an. Durch die Prüfung wird festgestellt,
ob ein Flipflop sich im Binärzustand 1 oder
Setzzustand befindet oder nicht. Wenn dieses Feld so gesetzt
ist, daß sämtliche Bits Einsen sind, dann zeigt
dies an, daß keines der 31 Prüf-Flipflops zu überprüfen
ist, daß aber eine der Verriegelungsschaltungen, die
die ALU-Ergebnis-Bus-Signale aufnehmen, wie sie durch
die Bits 24 bis 26 festgelegt sind, zu prüfen ist.
Die Bits 24 bis 26 stellen ein Prüfzustands-Verriegelungsfeld
dar, welches in der aus der Tabelle 2 ersichtlichen
Weise kodiert ist. Wie hier erläutert ist, ermöglicht
dieses Feld, daß der Inhalt irgendeines der Acht-Bit-
Register über den zu prüfenden ALU-Bereich abgegeben wird,
und zwar auf einer bitweisen Grundlage.
In Fig. 4d ist das Format eines normalen bedingten Verzweigungs-
Mikrobefehls (NCB) gezeigt. Im Unterschied zu
bedingten Schnellverzweigungs- und unbedingten Verzweigungs-
Mikrobefehlen wird dieser Mikrobefehl am Ausgang des örtlichen
Festwertspeicher-Registers decodiert, wobei ein
Intervall von zwei Taktimpulsperioden benötigt wird, um
die Ergebnisse der Prüfung zu erhalten. Der normale
bedingte Verzweigungs-Mikrobefehl ermöglicht die Überprüfung
irgendeiner Bit-Position (Binärzustand 1 und
Binärzustand Null) eines Registers vorzunehmen, das
durch das A-Operandenfeld des Mikrobefehls bezeichnet ist.
Wie aus Fig. 4d hervorgeht, besitzt dieser Mikrobefehl
einen Operationscode von "111". Das Bit 3 zeigt an,
ob die binäre 1 oder die binäre Null der Ausgangssignale
der durch das A-Operandenfeld bezeichneten Register zu
überprüfen ist. Die Bits 4, 5 und 19 sind nicht benutzte
Felder; demgemäß sind sie auf binäre Nullen gesetzt.
Die Bits 6 bis 18 bilden ein Verzweigungsadressenfeld,
während die Bits 20 bis 22 ein Verriegelungsfeld bilden.
Wie aus der betreffenden Figur ersichtlich sein dürfte,
geben diese Bits, wenn sie in der durch Tabelle 1 angegebenen
Weise codiert sind, die Bitposition des durch
ALU ausgewählten zu überprüfenden Registers an. Die
Bits 23 bis 26 bilden das A-Operandenfeld (AOP), welches,
wie durch Tabelle 2 angegeben ist, irgendeines von 16
Registern bezeichnet, dessen Inhalt in den ALU-Verriegelungsschaltungen
gespeichert werden kann.
In Fig. 4e sind die Formate eines Eingabe/Ausgabe-Mikrobefehls
gezeigt. Dieser Mikrobefehl wird dazu benutzt,
den Massenspeicher-Prozessor PSI und die Einrichtungsadapterschaltungen
in den Stand zu versetzen, diejenigen
Operationen zu verarbeiten, die eine Informationsübertragung
zu/von dem Einrichtungsadapter und den Eingabe/Ausgabe-
Steuereinrichtungs-Schnittstellen erfordern. Wie aus
Fig. 4e hervorgeht, besitzt dieses Mikrobefehlswort einen
Operationscode "011". Das Bit 3 entspricht einem Setzzähler-
Bit, das im Binärzustand 1 entweder einen Eingabe/Ausgabe-
Zähler oder einen Datenzähler mit dem Inhalt des
Zählerfelds, welches die Bits 11 bis 18 umfaßt, oder
von RWSLR her zu laden gestattet. Diese Operation tritt auf
Eingabe/Ausgabe-Operationen hin auf, wie auf eine Bedienungscode-
Ablauffolge, eine Schreibdaten-Ablauffolge, eine
Lesedaten-Ablauffolge, eine Such-Kennzeichen- oder Datenablauffolge,
etc. Wenn dieses Bit in den Binärzustand Null
gesetzt ist, wird keiner der zuvor erwähnten Zähler mit
einer Information geladen. Lediglich die Ablaufsteuerungs-
Flipflops werden, wie dies durch die Tabellen 1 bis 6
gemäß Fig. 4e angegeben ist, gesetzt. Das Bit 4 wird
benutzt, wenn das Zählerfeld benutzt wird (das heißt,
daß das Bit 3 eine binäre 1 ist). Dieses Bit wird
dazu benutzt, dem Prozessor anzuzeigen, welches Byte
der 2-Byte-PSI-Schnittstelle oder der Datenzähler mit
der durch das Zählerfeld bezeichneten Zählerstellung zu
laden ist. In dem Fall, daß zwei Bytes in die Zähler geladen
werden, erfordert dies zwei Eingabe/Ausgabe-Mikrobefehlsworte.
Jedesmal, wenn die Bytes-Stellen niedriger
Wertigkeit eines Zählers geladen werden, werden die Byte-
Stellen höherer Wertigkeit desselben Zählers auf binäre
Nullen zurückgestellt. Wenn das Bit 4 eine binäre Null ist,
zeigt es an, daß die Byte-Stellen niedriger Wertigkeit
des Zählers mit dem Zählerfeld des Eingabe/Ausgabe-Mikrobefehls
geladen werden. Wenn demgegenüber das Bit 4 eine
binäre 1 ist, werden die oberen Byte-Stellen des Zählers
mit dem Mikrobefehls-Zählfeld geladen. Wenn das Bit 3
des Mikrobefehls auf eine binäre Null gesetzt ist, wird
hierdurch dem Prozessor signalisiert, welche Flipflops
in den Feldern 1 bis 3 und jene in den Fehlerkorrektur-
und Fremdbetriebsfeldern zu setzen oder zurückzustellen
sind. Wenn das Bit 4 auf eine binäre 1 gesetzt ist,
werden jene Flipflops, die durch diese Felder bezeichnet
sind, in die Binärzustände 1 gesetzt. Wenn das Bit 4
eine binäre Null ist, werden jene Flipflops, die durch
die Felder bezeichnet sind, in ihre Binärzustände Null
zurückgestellt. Das Bit 4 besitzt keine Bedeutung, wenn
die Felder codiert werden, um nur Nullen zu enthalten.
Die Tabellen 4 bis 6 zeigen Codes, die kennzeichnend sind
für bestimmte Flipflops der in dem Massenspeicher-Prozessor
enthaltenen Flipflops.
Die Bits 5 und 6 geben ein Unter-Operationscodefeld an,
wenn das Zählfeld benutzt wird (das heißt, daß das Bit 3
eine binäre 1 ist). Das Operationscodefeld gibt an, welcher
der Zähler (das heißt der PSI-Byte-Zähler oder der Daten-
Zähler) zu laden ist; ferner wird die zu ladende Zählquelle
angegeben (das heißt das Laden von den örtlichen Lese/
Schreib-Speicherregistern oder dem örtlichen Festwertspeicherregister).
Die Tabelle 1 gibt die verschiedenen
Codierungen für diese Bits und die entsprechenden Funktionen
an. Die Bits 7 bis 10 definieren ein PSI-Ablaufsteuerungs-
Flipflop-Feld, wenn das Bit 3 auf eine binäre 1 gesetzt
ist. Diese Flipflops stellen, wie oben erwähnt, die Datenwege
für die PSI-Anordnung bereit, um Datenübertragungen
zwischen der Eingabe/Ausgabe-Steuereinrichtung und dem
Massenspeicher-Prozessor vorzunehmen. Die Tabelle 2 zeigt
die Codes für die Kennzeichnung unterschiedlicher Flipflops
dieser vier Flipflops an. Während der Codierung der Bits
7 bis 10 das Setzen eines einzelnen Flipflops veranschaulicht,
kann die Codierung der betreffenden Bits so modifiziert
werden, daß mehr als ein einzelnes Ablaufsteuerungs-Flipflop
mit einem einzelnen Mikrobefehl gesetzt wird. Die Bits
11 bis 18 geben ein Zählfeld an, welches von dem Prozessor
dazu benutzt wird, entweder den PSI-Zähler oder den Datenzähler
zu laden. Wenn die zwei Byte breiten Zähler geladen
werden, werden die PSI-Flipflops oder die Ablaufsteuerungs-
Flipflops lediglich dann gesetzt, wenn eine Zählerstellung
in die oberen Bytestufen des Zählers geladen wird. Wie
durch Fig. 4e angegeben, sind die Bits 19 und 20 nicht
benutzte Bits, wenn das Bit 3 eine binäre 1 ist. Die
Bits 21 und 22 dienen als Sprungzählfeld, wenn das Bit 3
eine binäre 1 ist. Dieses Zählfeld zeigt die Anzahl von
Bytes an, die von dem Prozessor während einer Lese-, einer
Schreib- oder einer Suchoperation einzuschließen bzw.
zu überspringen sind. In Abhängigkeit von dem bestimmten,
verarbeiteten Aufzeichnungsformat wird dieses Feld gesetzt,
um die richtige Anzahl der einzuschließenden bzw. zu überspringenden
Bytes anzugeben. Die Bits 23 bis 26 definieren
ein Ablaufsteuer-Flipflop-Feld, wenn das Bit 3 eine binäre
1 ist. Die Ablaufsteuerungs-Flipflops werden in bestimmte
Zustände gesetzt, die ihrerseits den Weg für die Herstellung
bidirektionaler Informationsübertragungen durch die verschiedenen
Register von MSP festlegen. Die Codierungen
für diese Felder sind in der Tabelle 3 in Fig. 4e angegeben.
Einige dieser Flipflops sind oben bereits erläutert
worden.
Wenn das Bit 3 auf eine binäre Null gesetzt wird, werden
die Bits 5 bis 26 in der die Tabellen 4 bis 6 angezeigten
Weise benutzt.
In Fig. 4f sind zwei Formate für Mikrobefehle gezeigt,
die zur Angabe unterschiedlicher Rechenoperationen verwendet
werden. Die Rechenoperations-Mikrobefehle enthalten
einen Operationscode "010". Das Bit 3 wird dazu benutzt,
unterschiedliche Formate des Mikrobefehls anzuzeigen.
Die Bits 4 bis 7 bilden ein Unteroperationscode-Feld,
welches bis zu 16 unterschiedliche Rechenoperationen
festlegt, von denen einige Verknüpfungsoperationen sind.
Die Tabelle 1 zeigt bestimmte Rechenoperationen der durch
die Bits 4 bis 7 codierten Rechenoperationen an. Diese
Operationen sind bekannt, weshalb sie hier nicht weiter
ins einzelne gehend beschrieben werden. Zur weiteren
Information sei auf die oben erwähnte Druckschrift der
Firma Texas Instruments, Inc. hingewiesen. Die Bits 8
und 9 dienen als Eintrag-Feld; sie werden gemäß Tabelle
2 codiert, um drei unterschiedliche Eintragzustände
festzulegen, und zwar für die Ausführung von verschiedenen
Rechenoperationen. Die Bits 15 bis 18 werden nicht benutzt,
wenn das Bit 3 eine binäre Null ist; daher sind diese
Bits binäre Nullen. Die Bits 10 bis 14 sind in der
aus Tabelle 3 ersichtlichen Weise codiert, um den Bestimmungsort
des durch eine Rechenoperation erzeugten
Ergebnisse anzugeben. Die Bits 19 bis 22 bilden ein
B-Operanden-Konstanten-Feld (BOP), welches die Quelle
des B-Operanden gemäß Tabelle 4 anzeigt. In ähnlicher
Weise zeigen die Bits 23 bis 26 die Quelle des A-Operanden
gemäß Tabelle 5 an. Es sei bezüglich der Fig. 4f
darauf hingewiesen, daß dann, wenn das Bit 3 eine
binäre 1 ist, die Bits 15 bis 22 als B-Operanden benutzt
werden.
In Fig. 4g sind zwei Formate für Mikrobefehle gezeigt,
die zur Angabe unterschiedlicher Arten von Verknüpfungsoperationen
verwendet werden. Die Verknüpfungsoperations-
Mikrobefehle enthalten einen Operationscode "001". Der
Zustand eines Format-Bits 3 zeigt dann, wenn dieses
Bit eine binäre Null ist, an, daß eines der in der
Tabelle bezeichnet Register die Quelle des B-Operanden
zu sein hat. Wenn das Bit 3 eine binäre 1 ist, ist
das 8-Bit-Konstanten-Feld des Mikrobefehls der B-Operand.
Die Bits 4 bis 7 eines Unteroperations-Code-Felds
bezeichnen die Verknüpfungsoperation, die durch ALU auf
die A- und B-Operanden hin auszuführen ist. Die Tabelle 1
zeigt dabei einige Arten von Operationen. Bezüglich weiterer
Information sei jedoch auf die oben erwähnte Druckschrift
der Firma Texas Instruments hingewiesen.
Die Bits 15 bis 18 werden nicht benutzt, wenn das Bit 3
eine Null ist. Die Bits 10 bis 14 bilden eine Bestimmungsangabe
des ALU-Ergebnisfelds; sie sind so codiert, daß
sie eines der Register in der angegebenen Tabelle für
die Aufnahme des durch ALU erzeugten Ergebnisses bezeichnen.
Sämtliche Codes mit Ausnahme von 11110 und 11111 bewirken,
daß das Ergebnis an das bezeichnete Register abzugeben ist
sowie in den ALU-Verriegelungsschaltungen zu speichern ist.
Bei den Codes 11110 und 11111 wird das Ergebnis nicht
in ein Register übertragen, sondern es wird vielmehr in den
ALU-Verriegelungsschaltungen gespeichert.
Wie oben erwähnt, geben die Bits 19 bis 22 die Quelle
des B-Operanden für ALU an, wenn das Bit 3 eine Null ist.
Die Bits 15 bis 22 definieren den B-Operanden, wenn das
Bit 3 eine binäre 1 ist. Im übrigen werden die Bits 8
und 9 bei diesem Mikrobefehlstyp nicht benutzt. In ähnlicher
Weise definieren die Bits 23 bis 26 die Quelle des A-
Operanden für ALU.
Unter Bezugnahme auf Fig. 3f werden nunmehr bestimmte Schaltungen
gemäß Fig. 3e im einzelnen beschrieben. Aus Fig. 3e
geht hervor, daß der Verzweigungssprungblock 304-20 die
Schaltungen 304-200 bis 304-215 enthält, die in der dargestellten
Weise angeordnet sind. Wie erwähnt, erzeugen
diese Schaltungen die erforderlichen Signale während der
Ausführung der beiden schnellen Befehle, die unmittelbar
an die Schaltungen mittels der Leseverstärker-Verriegelungs-
Schaltungen 304-25 abgegeben werden. Die durch die Verzweigungssprung-
Schaltungen gebildeten Signale werden gemäß
folgenden booleschen Ausdrücken erzeugt.
- 1. CFDTS 10 (ROS-Daten zu ROSAR) = CFUCB 10 · CBNOK 00 · CFR 1 S 00 · CFR 2 S 00 + CFFCB 10 · CBBOK 10.
- 2. CFFCB 10 (schnelle bedingte Verzweigung) = CFBNH 10 · CDRO 310.
- 3. CFIR 110 (Inkrementierter auf Rückführ-Reg 1) = CFUCB 10 · CBNOK 00.
- 4. CFIR 210 (Inkrementierer auf Rückführ-Reg 2) = CBNOK 00 · CFUCB 10 · CRD 2210.
- 5. CFR 1 S 10 (Rückführ-Reg 1 zu ROSAR) = CFUCB 10 · CRD 1919 · CBNOK 00.
- 6. CFR 2 S 10 (Rückführ-Reg 2 zu ROSAR) = CFUCB 10 · CRD 2010 · CBNOK 00.
- 7. CBBOK 10 (Verzweigung OK für FCB) = .
- 8. CBBOKOC (FCB-Testbedingungen) = CBBOKOA · CRD 1900 · CBBOKOB.
Die Signale CBBOKOA, CBBOKOB und CBRST 00 werden von
entsprechenden Wählerschaltungen der Multiplexer-Wählerschaltungen
304-280 bis 304-285 abgeleitet, die in dem
Schnellverzweigungs-MUX-Block 304-28 enthalten sind. Diese
Schaltungen nehmen eine Anzahl von Eingangssignalen von 79723 00070 552 001000280000000200012000285917961200040 0002002459975 00004 79604
verschiedenen Teilen des Prozessors auf. Diese Signale,
die kennzeichnend sind für bestimmte Testbedingungen,
werden abgetastet, und die Ergebnisse der Abtastung werden
den Verzweigungssprungs-Schaltungen 304-20 zugeführt,
wie dies dargestellt ist. Eines der der Multiplexer-Schaltung
304-284 zugeführten Eingangssignale ist das Signal CBEOC 10.
Dieses Signal wird durch ein Flipflop 304-300 erzeugt,
welches in den Schnellverzweigungs-Verknüpfungsschaltungen
des Blocks 304-30 enthalten ist. Wie dargestellt, umfaßt
dieser Block dieses Flipflop zusammen mit zugehörigen Gatterschaltungen
304-301 bis 304-302, die in der dargestellten
Weise angeschlossen sind.
Weitere Test- bzw. Prüfsignale umfassen ein den Nichtempfang
eines Indeximpulses anzeigendes Signal A 1 IDT 00, das durch
den Adapterbereich 310 auf das Auftreten des Index-Impulssignals
von der Leitung IDX hin erzeugt wird. Ferner umfassen die
Testsignale ein die Ungleichheit von Null des Spaltenzählerinhalts
anzeigendes Signal CCGCZ 00 von dem Bereich
318, ein die Ungleichheit von Null des Datenzählerinhalts
anzeigendes Signal CCDCZ 00 von dem Bereich 318, ein das
Nichtsetzen eines Datenende-Flipflops anzeigendes Signal
PKDDT 00 von dem Bereich 302 und ein den ersten Durchlaß,
das Setzen des Format-Flipflops betreffendes Signal CQFPF 10
von dem Hochgeschwindigkeits-Ablaufsteuerbereich 308 her.
Es sei ferner darauf hingewiesen, daß die Schaltung 304-208
ein die Gleichheit von A und B anzeigendes Signal CAAEB 10
und ein Signal CAAGB 10, das anzeigt, daß A größer ist
als B, von dem ALU-Bereich 316 her empfängt.
Aus Fig. 3f geht ferner hervor, daß die Verzweigungsprüfschaltungen
des Blocks 304-34 die Schaltungen 304-340 bis
304-344 enthalten, die in der dargestellten Weise angeschlossen
sind. Diese Schaltungen sind derart betrieben, daß Verzweigungssignale
auf einen Normalzustands-Verzweigungs-Mikrobefehl
hin erzeugt werden, der in dem örtlichen Festwertspeicher-
Register 304-32 gespeichert ist. Darüber hinaus
erzeugen diese Schaltungen Signale für die Freigabe der
Ablaufsteuer-Dekoderschaltung 304-38, die derart betrieben
ist, daß sie die Bits 23 bis 26 des Normalzustands-Verzweigungs-
Mikrobefehls dekodiert, welche Bits über den Weg
304-39 zugeführt werden. Die in dem Verzweigungs-MUX-Block
304-36 enthaltenen Multiplexer-Auswahlschaltungen liefern
ein Verzweigungssignal CBNOK 10 auf die Abtastung einer der
Verriegelungsschaltungen des ALU-Bereichs hin, wie dies
durch die Verriegelungsfeld-Bits 20 bis 22 festgelegt ist.
Darüber hinaus wird das Signal CBNOK 10 an die Schaltungen
abgegeben, die in dem Inkrement-Verknüpfungsschaltungsblock
304-8 enthalten sind. Wie dargestellt, umfaßt dieser Block
die Schaltungen 304-80 bis 304-83. Diese Schaltungen führen
das Signal CRINC 10 in ein binäres 1-Signal über, und zwar
entsprechend folgendem booleschen Ausdruck:
CRINC 10 (Vergrößern von ROSAR) = (CBNOK 00 · CFUCB 00 · CRRES 00) · (CFFCB 00 + CBBOK 00).
Die Fig. 3g und 3h zeigen im einzelnen den Lese-
Schreib-Speicherbereich 306. Wie ersichtlich, enthält
dieser Bereich einen Hilfsspeicher 306-2, der aus einer
Anzahl von 256 · 1-Bit-Feldern von herkömmlichem Aufbau
in der angegebenen Weise aufgebaut ist. Der Speicher 306-2
wird über ein Adreßregister 306-4 adressiert, welches
eine Anzahl von Verstärker-Verriegelungsschaltungen enthält.
Das Register 306-4 kann von ROSLR her über die Busleitung
306-6 auf ein Steuersignal CFSRL 10 hin geladen werden,
das über ein UND-Glied und eine Verstärkerschaltung 306-8
erzeugt wird. In ähnlicher Weise können bestimmte Bitstellen
des Registers 306-4 mit einem LCN-Bit von einem RWS-Einrichtungs-
Anschlußregister 306-7 über einen Weg 306-5
geladen werden, und zwar auf ein Steuersignal CFDVP 10 hin.
Wie aus Fig. 3g ersichtlich ist, wird das Register 306-7
von den ALU-Busleitungs-Verriegelungsschaltungen des Bereichs
316 her geladen. Wenn das Signal CFSRL 10 ein
Binärsignal Null ist, kann das Register 306-4 über einen
Weg 306-10 mit einer Adresse geladen werden, die von
dem Registerspeicher 306-12 abgegeben wird. Dieses Register
erhält eine Adresse von den Schaltungen eines Blocks 306-14,
nachdem die Adresse von dem Register 306-4, die über einen
Weg 306-20 abgegeben worden ist, um 1 erhöht worden und
abgegeben worden ist, wenn ein Inkrement-Signal CWINC 10
und ein allein eine Inkrementierung bewirkendes Inkrement-
Signal CWINO 10 als Binärsignale 1 auftreten. Die Schaltungen
306-16 bis 306-19 lassen das Signal CWINC 10 als
Binärsignal 1 während sämtlicher Schreiboperationen,
während der Suchoperationen und Leseoperationen gemäß
folgendem Ausdruck auftreten:
CWINC 10 = CWWPA 10 · CWDTM 00 + CQSHO 10 · CQFPF 00 · CWPTM 10 + CFRED 10.
Die Schaltung 306-20 läßt das Signal CWINO 10 als Binärsignal
1 während der Suchoperationen auftreten, wenn das
Signal CWTOG 10 ein Binärsignal Null ist und wenn das
Signal CWINC 10 ein Binärsignal 1 ist.
Die drei Adressensignale hoher Wertigkeit von dem Adreßregister
306-4 werden den Chip-Freigabedekoderschaltungen
306-30 zugeführt, die für jede Reihe der Felder Freigabesignale
erzeugen. Wenn die Schaltungen des Blocks 306-32
das Lesesignal CWRED 10 als Binärsignal 1 auftreten lassen,
werden die Byte-Inhalte eines adressierten Speicherplatzes
in ein örtliches Ausgaberegister 306-40 geladen. Die Schaltungen
306-33 bis 306-39 des Blocks 306-32 lassen das
Signal CWRED 10 als Binärsignal 1 auftreten, wenn der Folgesteuer-
Dekoder bzw. Ablaufsteuer-Dekoder des Bereichs 304
das Signal CEMSQ 08 erzeugt und wenn das Flipflop 306-36
das Signal CWRED 1 A in den Binärzustand 1 überführt.
Der Block 306-42 zeigt eine repräsentative Stufe der Daten-
Eingabeschaltungen, die für die Eingabe eines Informationsbits
in einen adressierten Speicherplatz benutzt werden.
Die Schaltungen umfassen UND-Glieder 306-43 bis 306-57
und Verstärkerschaltungen 306-48, die in der dargestellten
Weise angeschlossen sind. Die Verknüpfungsglieder 306-44
bis 306-46 werden dazu benutzt, eine Information von den
Registern C, D und F des Pufferbereich her zu speichern.
Das Verknüpfungsglied 306-47 wird dazu benutzt, eine Information
in dem örtlichen Register 306-40 zu speichern.
Die verschiedenen Übertragungssignale werden durch die
Schaltungen des Blocks 306-70 erzeugt, die in Verbindung
mit Fig. 3h noch beschrieben werden. Wie ferner gezeigt,
kann das örtliche Register 306-40 von dem ALU-Bereich her
geladen werden, und zwar über einen Weg 306-50, wenn der
Festwertspeicher ein Signal CFNRL 10 als Binärsignal 1
abgibt.
Während eines Schreibteils einen Speicherzyklus ist eine
Gatter- und Inverterschaltung 306-52 freigegeben, um einen
Schreibimpuls abzugeben, der durch einen Schreibimpulsgenerator
306-54 erzeugt wird. Dadurch wird eine Reihe
von acht Treiber-Inverterschaltungen (zum Beispiel CWWPL 00
bis CWWPL 07) gesteuert. Dies bewirkt, daß die Information
in einen adressierten Speicherplatz eingeschrieben wird.
Die Schaltung 306-52 ist freigegeben, wenn eine weitere
Gatter- und Inverterschaltung 306-56 ein Schreibimpuls-
Freigabesignal als Binärsignal 1 auftreten läßt.
Fig. 3h zeigt die Schaltungen 306-71 bis 306-88 des
Blocks 306-70, die für die Erzeugung der verschiedenen
Übertragungssteuer-Signale CWDTM 10, CWCTM 10, CWFTM 10
und CWNTM 10 dienen. Die UND-Glieder 306-76 bis 306-78
dekodieren die Zustände bestimmter Folgesteuerungs-Flipflops;
sie setzen die Inverterschaltung 306-79 in den Stand,
das Signal CWDTMOB als Binärsignal 0 auftreten zu lassen,
und zwar für die Übertragung von Bytes von dem D-Register
zu dem Lese/Schreib-Speicher während einer anderen Operation
als der ersten Durchlauf-Suchoperation. Dies bewirkt seinerseits,
daß die UND-Glied- und Inverterschaltung 306-80
das Signal CWDTM 10 als Binärsignal 1 auftreten läßt.
In ähnlicher Weise bewirkt der Festwertspeicher durch Abgabe
des Signals CEMSQOA als Binärsignal Null eine
Übertragung von Bytes von dem D-Register auf die Dekodierung
eines "OA"-Werts hin, der in dem Unteroperations-
Codefeld eines RWS-Mikrobefehls enthalten ist.
Die Schaltungen 306-81 bis 306-86 dekodieren die Zustände
bestimmter Folgesteuerungs-Flipflops, um das Signal CWCTMOB
als Binärsignal Null auftreten zu lassen, wenn Bytes aus
dem C-Register zu dem Lese/Schreib-Speicher während einer
ersten Durchlauf-Suchoperation übertragen werden. In ähnlicher
Weise führt der Festwertspeicher das Signal CEMSQ 09 als
Binärsignal Null auf die Decodierung einer "09" in dem
Unteroperationscodefeld eines RWS-Mikrobefehls ab. Dies
ermöglicht die Übertragung von Bytes aus dem C-Register zu
dem Lese/Schreib-Speicher hin.
Die UND-Glied- und Inverterschaltung 306-88 ermöglicht
das Schreiben des Inhalts des örtlichen Lese/Schreib-
Speicherregisters in den Lese/Schreib-Speicher zurück, und
zwar auf die Decodierung von "OB" oder "OC" in dem Unteroperationscodefeld
bzw. Suboperationscodefeld eines RWS-
Mikrobefehls. Die UND-Glieder 306-71 bis 306-74 führen
das Übertragungssignal CWFTM 10 in ein Binärsignal 1
während Schreib-Zählungs- oder Kennzeichenoperationen über,
wobei Bytes von dem Sprungzähler während Suchoperationen
übersprungen werden. Dabei erfolgt eine entsprechende
Signalerzeugung während Lese-Zähl- oder Kennzeichenoperationen,
wenn ein Byte aus dem F-Register übertragen wird.
In Fig. 3h sind ferner die Verknüpfungsschaltungen des
Blocks 306-100 gezeigt, die zur Erzeugung eines Umschalt-
Signals CWTOG 10, eines Einzel-Umschaltsignals CWTGO 10
und eines Umschalt- und Inkrement-Signals CWTIC 10 verwendet
werden. Diese Schaltungen bringen durch die Erzeugung
des Signals CWTOG 10 die Eigenschaft mit sich,
den Inhalt des RWS-Adressenregisters um 512 Speicherstellen
innerhalb einer Taktzeit (PDA) zu erhöhen. Diese Anordnung
erleichtert die Speicherung einer Information von zwei
Quellen während der Suchoperationen; dies bedeutet,
daß diese Anordnung die unmittelbare Speicherung der
Zählerstellungs- und Kennzeichenfeld-Bytes von einer
ausgewählten Einrichtung in einer ersten Gruppe von
Speicherstellen (Null-511) und die Speicherung von
Suchargument-Bytes von der Eingabe/Ausgabe-Steuereinrichtung
in einer zweiten Gruppe von Speicherstellen
(512-1023) ermöglicht. Die Bitstelle zweithöchster Wertigkeit
(CWS 01) wird zwischen zwei Zuständen "umgeschaltet",
um verknüpfungsmäßig die Speicheradresse um 512 Stellen
zu erhöhen/zu verringern, da sie einen Positionswert von
512 besitzt.
Die Umschalt-Verknüpfungsschaltungen des Blocks 306-100
enthalten UND-Glieder 306-1 bis 306-14, eine Verstärker-
Schaltung 306-105 und die Inverterschaltung 306-106.
Das Umschaltsignal CWTOG 10 wird auf die Dekodierung der
Zustände bestimmter Ablaufsteuerungs-Flipflops hin erzeugt.
Die UND-Glieder 306-101 bis 306-104 führen das Signal
CWTOG 10 im besonderen in den geeigneten Zustand über,
und zwar für die Speicherung eines Kennzeichen-Bytes,
das in dem F-Register gespeichert ist. Dies erfolgt
während einer Suchoperation nicht im ersten Durchlauf,
um ein in dem D-Register gespeichertes Byte während irgendeiner
Suchoperation in dem Vergleicherzyklus zu speichern,
wenn ein Zeichensetzungs-Bit in einem vorhergehenden Lesezyklus
nicht ermittel worden ist, bzw. für die Speicherung
eines in dem C-Register enthaltenen Bytes im Zuge des
ersten Durchlaufs in dem Speicherzyklus und für das Auslesen
eines Suchargument-Bytes aus dem Lese/Schreib-
Speicher während einer Suchoperation, die nicht im
ersten Durchlauf erfolgt.
Die UND-Glied- und Verstärkerschaltungen 306-110 und
306-111 des Blocks 306-100 verknüpfen das Umschaltsignal
CWTOG 10 mit Inkrement-Signalen CWINC 10 und CWIC 00
in der dargestellten Weise, um ein einziges Umschaltsignal
CWTGO 10 und ein Umschalt- und Inkrement-Signal CWTIC 10
zu erzeugen. Ist das Inkrement-Signal CWINC 10 in den
Binärzustand 1 gesetzt bzw. tritt es als Binärsignal 1
auf, so wird das einzige Umschaltsignal CWTGO 10 im Binärzustand
Null gehalten. Auf diese Weise ist ein Zugriff zu
der nächsten Gruppe der 512 Speicherplätze verhindert.
Das UND-Glied 306-20 gemäß Fig. 3g läßt das einzige
Schrittsignal CWINO 10 als Binärsignal Null dann auftreten,
wenn das Signal CWTOG 10 ein Binärsignal 1 ist. Dadurch
kann die Adresse von den Inkrement-Verriegelungsschaltungen
in die Adreßregister-Flipflops geladen werden. Wenn CWSO 110
des Adreßregisters in ein Binärsignal Null umzuschalten ist
und die Adresse um 1 erhöht wird, schaltet das UND-Glied
306-110 das Signal CWT 1 C 10 in ein Binärsignal 1 um.
In Fig. 3i sind die Bereiche 314 und 316 im einzelnen
dargestellt. Dabei ist ersichtlich, daß ALU eine Haupt-
Rechen- und Verknüpfungseinheit (ALU) 316-2 und eine Hilfs-
ALU-Einheit 316-4 zusammen mit zugehörigen Betriebsauswahl-
Eintrag- und Ausführungsfreigabe-Schaltungen enthält (zum Beispiel
den Schaltungen des Blocks 316-6). Darüber hinaus sind
Paritätsfehlerprüfschaltungen 316-6 vorgesehen. Da die Hilfs-
ALU-Einheit 316-4 lediglich dazu dient, die Operation der
Haupt-ALU-Einheit 316-2 für Prüfzwecke zu verdoppeln, brauchen
ihre zugehörigen Schaltungen nicht erläutert zu werden, und
außerdem braucht ihre Arbeitsweise nicht beschrieben zu werden.
Die Haupt-ALU-Einheit 316-2 vermag sechzehn Verknüpfungsoperationen
oder zweiunddreißig Rechenoperationen auf
die Abgabe bestimmter Kombinationen von Eingangssignalen
auszuführen, die ihren Eintrag-(CIN), Ausführungsfreigabe-
(CEN)- und Betriebssteuerungs- (M 0-M 3)-Eingangsanschlüssen
zugeführt werden. Die ALU-Einheit wird für die Aufnahme
von A- und B-Operandensignalen durch die Schaltungen 316-62
bis 316-65 freigegeben, die das Freigabesignal CACEN 00
als Binärsignal auftreten lassen. Wenn weder eine Verknüpfungsoperation
noch eine Rechenoperation ausgeführt wird, arbeitet
die ALU-Einheit 316-2 in einem Subtraktionsbetrieb
(das heißt in einem Betrieb, der normalerweise während
der Such- und Fehlerfeststelloperationen benutzt wird).
Dies bedeutet, daß der natürliche Zustand der ALU-Einheit
bei Fehlen von anliegenden Signalen an den Betriebssteuerschaltungen
gegeben ist mit f=A-B-1, wobei f = das
Ergebnis ist. Die Betriebsartsignale, die der ALU-Einheit
zugeführt werden, werden insbesondere als "0110"-codiert.
Dies versetzt die ALU-Einheit in den Stand, das gewünschte
Ergebnis zu erzeugen (siehe Fig. 4f). Die ALU-Einheit
subtrahiert die A- und B-Operanden durch Ausführung einer
Einser-Komplement-Addition und Erzeugung eines Ergebnisses
entsprechend A-B-1 in den Stufen CAF 00 bis CAF 07. Das
Fehlen eines Eintragsignals bewirkt, daß ein erzwungenes
Eintragssignal dem Eintrag-Eingangsanschluß Cin zugeführt
wird. Das Ergebnis wird seinerseits an die Ergebnis-Busleitungs-
Verriegelungsschaltungen 316-10 und an die Ergebnis-
Verriegelungsschaltungen 316-12 abgegeben. Dies
erfolgt auf die Abtastung durch ein Abtastsignal CASTR 10
hin, das durch die Schaltungen eines Abtast/RST-Steuerblocks
316-20 erzeugt wird. Die an den A=B-Ausgangsanschlüssen
beider ALU-Einheiten auftretenden Ausgangssignale
werden mit Hilfe einer UND-Schaltung des Blocks
316-8 verglichen, um den Vergleich bzw. die Übereinstimmung
zu kontrollieren.
Während einer Verknüpfungsoperation wird das Unteroperationscodefeld
des Mikrobefehls (das heißt CRNO 410-CRNO 710)
an den Dekoder 316-60 abgegeben, und zwar von dem örtlichen
ROS-Register des Bereichs 304. Die Eingangssignale CRNO 410
bis CRNO 710 bewirken zusammen mit den Abtast- bzw. Austastsignalen
CASTR 10 und CASTR 00 von der Steuereinrichtung
316-20, daß der Decoder 316-60 die in Frage kommenden
Betriebssteuereingangssignale erzeugt, die ihrerseits an
die Eingänge M 0 bis M 3 abgegeben werden.
Wie oben erwähnt, veranlassen diese Signale die Haupt-
ALU-Einheit, die angegeben Verknüpfungsoperation auszuführen.
Der A-Operand (AOP) wird von dem Allzweckregister-
Speicherplatz oder dem "heißen" Register abgegeben, welches die im
A-Operationscodefeld des Mikrobefehlsworts bezeichnete Adresse
aufweist (das sind die Bits N 23 bis N 26). Der B-Operand
(BOP) wird abgegeben von:
- 1) Einem Allzweckregister oder "heißen" Register, das durch das B-Op-Feld des Mikrobefehlsworts angegeben ist (das sind die Bits N 19 bis N 22), oder
- 2) von einer Acht-Bit-Konstante, die durch den Mikroprogrammierer (das sind die Bits 15 bis 22 des in dem örtlichen ROS-Register gespeicherten Mikrobefehlsworts) angegeben ist, wenn das das Mikrooperationscodeformat anzeigende Bit eine binäre 1 ist. Wie aus Fig. 3h hervorgeht, werden diese Signale über die in dem Block 314-2 enthaltene B-Operand-Multiplexer-Auswahlschaltung abgegeben. Zu diesem Zeitpunkt veranlassen die Bits N 0 bis N 2 des Operationscodefelds zusammen mit den Bits 19 bis 22, daß ein Dekoder innerhalb des Blocks 314-2 die in Frage kommenden Auswahlsignale an die B-Operand- MUX-Schaltung 314-22 abgibt.
Nach Ausführung dieser bezeichneten Verknüpfungsoperationen
gibt die Haupt-ALU-Einheit 316-2 das Ergebnis an die Ergebnis-
Busleitungsschaltung 316-10 und an die Schaltungen eines
Ergebnis-Test- und Speicherblocks 316-30 ab. Wie aus Fig. 3i
ersichtlich ist, enthalten die Schaltungen 316-30 eine Vielzahl
von Flipflops 316-300, 316-310 und 316-330, und zwar
zusammen mit Gatter- oder Verknüpfungsschaltungen 316-301
bis 316-304, Schaltungskreisen 316-311 bis 316-325 und Schaltungskreisen
316-331 bis 316-333, die in der dargestellten
Weise angeschlossen sind. Das Gleichheits-Speicher-Flipflop
316-300 wird in seinen Binärzustand 1 gesetzt, wenn die
ALU-Einheit das Gleichheitssignal CAEQA 10 in ein Binärsignal
1 überführt, und zwar zum selben Zeitpunkt, zu dem das Abtastsignal
CASTR 10 in ein Binärsignal 1 übergeht. Das
Flipflop 316-300 wird in einen Binärzustand Null zurückgestellt,
wenn das Signal CAEQA 10 in ein Binärsignal Null
während eines Vergleichszeitintervalls überführt wird (das
heißt dann, wenn das Signal CACMT 10 ein Binärsignal 1 ist).
Das die Tatsache, daß A größer ist als B, speichernde
Flipflop 316-310 wird in seinen Binärzustand 1 umgeschaltet,
wenn das Gleichheits-Signal CAEQA 10 ein Binärsignal Null
ist und wenn ein Ausführungssignal CAACO 10 ein Binärsignal
1 ist. Das Flipflop 316-310 wird in den Binärzustand Null
zurückgestellt, wenn das Abtastsignal CASTR 10 in ein Binärsignal
1 überführt wird. Es sei darauf hingewiesen, daß
die Ausgangssignale von den Flipflops 316-300 und 316-310
zu den Schaltungskreisen 316-305 bzw. 316-314 wieder zurückgeleitet
werden. Wenn ein Flipflop in den Binärzustand Null
zurückgestellt wird, veranlaßt es, daß das entsprechende
Signal der Signale CAAEB 10 und CAAGB 10 ebenfalls als Binär-
Signal Null auftritt. Wie oben erwähnt, werden die Signale
CAAEB 10 und CAAGB 10 den Verzweigungskreisen zugeführt.
Diese Signale zeigen an, ob der Vergleich während einer
Suchoperation erfolgreich war. Das Ausführungs-Speicher-
Flipflop 316-330 wird in seinen Binärzustand 1 gesetzt,
wenn durch die Haupt-ALU-Einheit ein Ausführungssignal
erzeugt wird.
Das in den Ergebnis-Busleitungs-Schaltungen 316-10 enthaltene
Ergebnis wird dem Festwertspeicher-Steuerbereich
304 und dem Mehrzweckregisterbereich 314 zugeführt.
Wie erwähnt, verbleibt das Ergebnis entweder in den Ergebnis-
Busleitungsschaltungen für eine nachfolgende Verzweigungs-
Überprüfung, oder aber das betreffende Ergebnis
wird an eines der 31 Register abgegeben, das durch die
Bits N 10 bis N 14 eines Verknüpfungs- oder Rechen-Mikrobefehls
bezeichnet ist (das ist das DOR-Mikrobefehlsfeld -
siehe Fig. 4f und 4g). Die durch den Steuerblock 316-20
gebildeten, die Abtastung ermöglichenden Signale ermöglichen
die Zurückstellung der Ergebnis-Schaltungen 316-12 und
der Fehlerprüfschaltungen 316-8 durch ein Rückstellsignal
CARST 00. Wie aus Fig. 3i ersichtlich ist, enthalten diese
Schaltungen eine Vielzahl von Gatter- bzw. Verknüpfungsschaltungen
316-21 bis 316-28, die in der dargestellten
Weise angeschlossen sind. Die UND-Gatter- und Inverterschaltung
316-21 arbeitet in der Weise, daß ein eine
Abtastung ermöglichendes Signal CASTA 10 erzeugt wird,
welches die Speicherung des ALU-Ergebnisses für sämtliche
Rechen-Mikrobefehle, Verknüpfungs-Mikrobefehle und normale
bedingte Verzweigungs-Mikrobefehle ermöglicht; eine Ausnahme
hiervon bildet jedoch ein Verknüpfungs-Mikrobefehl,
dessen Bits 4 bis 7 alle binäre Einsen sind. Dies ermöglicht
die Abgabe des Ergebnisses eines vorhergehenden Mikrobefehls
ohne die Zerstörung der gespeicherten Information. Im
Falle einer Verknüpfungsoperation ist das Signal CFLOG 10
gleich eine binäre 1, im Falle einer Rechenoperation ist
das Signal CFARO 10 eine binäre 1, und im Falle einer
normalen bedingten Verzweigungsoperation ist das Signal
CFNCB 10 eine binäre 1. Diese Signale veranlassen ihrerseits
die Verstärkerschaltung 316-25 und die Inverterschaltung
316-26, die in Frage kommenden Abtastsignale zu erzeugen.
Die UND-Gatter- und Verstärkerschaltung 316-28 ist in
der Weise betrieben, daß das Rückstellsignal CARPF 00
in den richtigen Zustand auf das Rückstellsignal CARES 00
und das Abtastsignal CASTR 00 gebracht wird, wie dies
angedeutet ist. Entsprechend einer Verknüpfungsoperation
veranlassen die Bits CRN 04 bis CRN 07 zusammen mit
den Abtastsignalen, daß der Dekoder 316-60 die in Frage
kommenden Betriebssteuer-Eingangssignale während einer
Rechenoperation erzeugt. Darüber hinaus wird ein Eintrag-
Signal CACIN 00 aus den Eintrag-Bits CRN 08 bis CRN 09
des Mikrobefehlsworts erzeugt. Hierfür dienen nicht näher
dargestellte Schaltungen. Die Ergebnisse werden dem Eintrag-
Anschluß (CIN) zugeführt. In Abhängigkeit von der Codierung
der erwähnten Mikrobefehls-Wortbits geben die an
die Anschlüsse CIN und M 0 bis M 3 abgegebenen Signale
die bestimmte auszuführende Rechenoperation an. Die A- und
B-Operanden werden von den Quellen abgeleitet, die oben
in Verbindung mit der Beschreibung einer Verknüpfungsoperation
erwähnt worden sind. In entsprechender Weise kann
das in die Ergebnis-Verriegelungsschaltungen 316-12 geladene
und an die Ergebnis-Busleitung abgegebene Ergebnis
abgeführt oder für die Überprüfung gespeichert werden,
wie dies durch die Bits des DOR-Felds des Mikrobefehlsworts
angegeben ist.
Wie erwähnt, führt die ALU-Einheit während einer Suchoperation
sämtliche Rechenoperationen aus, die für die Verarbeitung
der Zähl-, Kennzeichen- und Datenfeldteile einer
Aufzeichnung während der entsprechenden Zähl-, Kennzeichen-
oder Datefeld-Suchoperationen erforderlich sind. Die ALU-
Einheit wird in den Stand versetzt, die gewünschte Verknüpfungsoperation
(A-B-1) auszuführen, während der der
B-Operand, der von der B-Operand-
Multiplexer-Auswahlschaltung 314-22, von dem C-Register
oder dem Lese/Schreib-Speicherbereich erhalten worden ist,
mit dem A-Operand verglichen wird, der von der A-Operand-
Multiplexer-Schaltung 314-22 über das D-Register erhalten
wird. Zu Anfang bewirkt ein Verknüpfungs-Mikrobefehl, der
so codiert ist, daß er eine Operation F=1 angibt, (siehe
Fig. 4f), daß die ALU-Einheit das Gleichheitssignal
CAEQA 10 als Binärsignal 1 abgibt. Gleichzeitig wird das
Abtastsignal CASTR 10 in ein Binärsignal 1 überführt,
wodurch das für den Gleichheits-Vergleich dienende Flipflop
316-300 in den Binärzustand 1 umgeschaltet wird. Während
der Suche werden keine weiteren Rechen- oder Verknüpfungs-
Mikrobefehle ausgeführt. Deshalb bleibt das Abtastsignal
CASTR 10 ein Binärsignal Null. Am Ende der Suchoperation
wird ein FCB-Mikrobefehl benutzt, um den Zustand der Signale
CAAEB 10 und CAAGB 10 zu überprüfen, um festzustellen, ob
ein erfolgreicher Vergleich vorgelegen hat. Der Mikrobefehl
führt das Abtastsignal CASTR 10 außerdem in ein Binärsignal 1
über, welches die ALU-Schaltungen zurückstellt.
Betrachtet man nun das Allzweck-Register und die Multiplexer-
Schaltungen des Blocks 314, so zeigt sich aus Fig. 3i,
daß die Allzweckregister in zwei Festkörper-Speichern
314-3 und 314-4 enthalten sind. Diese Speicher, die von
herkömmlichem Aufbau sind, sind über ihre entsprechenden
Adreßregister 314-6 und 314-8 adressierbar. Diese Register
nehmen Signale unmittelbar von dem örtlichen Festwertspeicher-
Register her auf (das sind CRN 20 bis CRN 22 und CRN 12
bis CRN 14). Diese Register liefern die Adresse für das
Allzweckregister. Die Inhalte des Adreßregisters werden
dann an ein Auswahlregister abgegeben, woraufhin die Abgabe
an die ALU-Einheit erfolgt.
Die Adressenauswahlschaltungen, die in dem Block 314-20
enthalten sind, decodieren die Bits N 19 bis N 22 und liefern
Ausgangs-Auswahlsignale BM 0 bis BM 2 als Eingangssignale
für die B-Operand-Multiplexerschaltungen 314-22. Die Multiplexer-
Ausgangssignale von dem ausgewählten Quellenregister
her werden dem Auswahlregister 314-28 zugeführt, wenn die
Steuerschaltungen des Blocks 314-34 das Signal CABBA 00
in ein Binärsignal 1 überführen. Dies erfolgt auf die
spezielle Codierung der Bits N 0 bis N 3 und N 19, die bestimmen,
ob die Information aus einem Allzweckregister
oder einem der übrigen Register des Systems als C-Operand-
Quelle dient. Die in dem MUX-Adressenspeicherblock 314-21
enthaltenen Flipflops halten eine Anzeige der Bits N 20
bis N 22 fest, und zwar für eine kontinuierliche Auswahl
der betreffenden Quelle während einer Suchoperation. Im
einzelnen wird das Bit 19 den Steuerschaltungen 314-34 zugeführt,
die bestimmen, welche der Zulassungsfunktionen
CABBA 10 oder CABBA 00 in eine binäre 1 überführt wird,
um entweder das adressierte Allzweckregister oder das
Register auszuwählen, das mit den Multiplexerschaltungen
des Blocks 314-22 verbunden ist. In ähnlicher Weise
geben die Multiplexer-Adressenauswahlschaltungen des
Blocks 314-26 die Steuersignale AM 0 bis AM 2 an die
A-Operand-Multiplexerschaltungen des Blocks 314-24 ab,
um eines der Register als Quelle des A-Operand auszuwählen.
Außerdem halten die in dem MUX-Adressenspeicher
314-27 enthaltenen Flipflops eine Anzeige der Bits N 24
bis N 26 für eine weitere Bezugnahme während einer Suchoperation
fest. Die in dem Block 314-32 enthaltenen
Steuerschaltungen sind auf die Bits N 0 bis N 2 und N 23
hin derart betrieben, daß Zulassungs-Signale CAABA 10
und CAABA 00 erzeugt werden, um das Ausgangssignale eines
adressierten Allzweckregisters oder eines der Register
auszuwählen, die mit den Multiplexerschaltungen 314-24
verbunden sind. Wenn das Signal CAABA 10 als Binärsignal
1 auftritt, wird der Inhalt eines Adressen-Allzweckregisters
dem Wähler 314-30 zugeführt. Wenn demgegenüber
das Zulassungssignal CAABA 00 als Binärsignal 1 auftritt,
wird der Inhalt eines bezeichneten Registers der Register
ausgewählt und an den Wähler 314-30 abgegeben. Wenn eine
Information in ein Allzweckregister jedes der Speicher 314-2
und 314-4 eingeschrieben wird, werden, wie oben erwähnt,
die Adressen durch die Bits N 12 bis N 14 bezeichnet (das
heißt durch das DOR-Feld eines Verknüpfungs- oder Rechen-
Mikrobefehls). Ein Einschreibvorgang erfolgt auf ein Impulssignal
CLK hin, das durch den Schreibgenerator 308-4
erzeugt wird.
Fig. 3j zeigt im einzelnen die Verknüpfungsschaltungen,
die den Bereich 318 bilden. Aus Fig. 3j geht dabei
hervor, daß die Verknüpfungsschaltungen für den Datenzähler
(DAC) einen Hauptzähler 318-2 und einen Hilfszähler
318-4 zusammen mit deren die Zählerstellung verkleinernden
Steuerschaltungen 318-6 und Fehlerprüf-Verknüpfungsschaltungen
318-8 enthalten. Zusätzlich enthält
der Bereich Zählverknüpfungsschaltungen, die so geschaltet
sind, daß ein Signal abgegeben wird, wenn die Zählerstellung
des Datenzählers auf Null verringert worden ist. Wie dargestellt,
enthalten diese Schaltungen innerhalb des Blocks
318-10 einen Dekoder 318-100, der von herkömmlichem Aufbau
ist und der so betrieben ist, daß die Signale CDDCZ 1 A
als Binärsignale 1 auftreten, wenn der betreffende Dekoder
feststellt, daß die Zählerstellung des Datenzählers sich
auf Null vermindert hat. Dies bewirkt seinerseits, daß
ein UND-Glied 318-102 des Flipflops 318-104 in den Binärzustand
1 umschaltet, und zwar wenn eines der UND-Glieder
318-108 bzw. 318-110 eine Verstärkerschaltung 318-112
veranlaßt, das Signal CCSCZ 10 als Binärsignal 1 abzugeben.
Das Flipflop 318-104 wird über ein UND-Glied 318-106
in seinen Binärzustand Null zurückgestellt, wenn ein Haltesignal
CCCZH 10 als Binärsignal Null auftritt. Wie zuvor
kurz beschrieben, werden die Zähler 318-2 und 318-4
auf ein Eingabe/Ausgabe-Mikrobefehlswort hin geladen.
Dabei wird insbesondere ein Acht-Bit-Zählfeld in diese
Zähler von dem örtlichen Festwertspeicher-Register her
(das sind die Bits CRN 14 bis CRN 22) oder von dem örtlichen
Lese/Schreib-Speicher-Register her geladen (das heißt
von den Stufen CWNR 1 bis CWNR 7). Ein Satz dieser Sätze
von Signalen wird an eine Zähler-Busleitung abgegeben
und dann in die Zähler geladen, und zwar gleichzeitig
mit der Absenkung des Impulssignals CLK und der Signale
CCDUL 00 (DAC-obere Ladung) sowie des Signals CCDLL 00
(DAC-untere Ladung). Die Auswahl der genau festgelegten
Zählfelder wird durch das Setz-Zählfeld des Eingabe/Ausgabe-
Mikrobefehlsworts bewirkt. Dieses Zählfeld bewirkt
die Erzeugung der Signale CFCFR 10 und CRCFM 10.
Während des Betriebs werden die Zählerstellungen beider
Zähler durch ein sogenanntes Dekrement-Signal CCDEC 10
jeweils dann verringert, wenn ein Byte zu/von dem Einrichtungsadapter
übertragen wird. Obwohl das Verringern
der Zählerstellung während einer Schreiboperation, einer
Lese/Suchoperation oder einer Ladeoperation erfolgen kann,
ist lediglich die UND-Schaltung angegeben, die das Dekrement-
Signal für eine Lese/Suchoperation erzeugt (das ist die
UND-Gatter- und Verstärkerschaltung 318-60). Die Fehlerprüf-
Verknüpfungsschaltungen 318-8 enthalten einen herkömmlichen
Vergleicher, der den Inhalt beider Zähler
vergleicht. Im Falle der Feststellung einer Nicht-Übereinstimmung
geben diese Schaltungen ein Fehlersignal CCDCE 10
als Binärsignal 1 ab.
Wie aus Fig. 3j hervorgeht, enthält dieser Bereich ferner
einen Hauptspalt-Zähler 318-12, einen Hilfsspalt-Zähler
318-14 zusammen mit Dekrement-Steuerschaltungen 318-16
und Fehlerprüfschaltungen 318-18. Außerdem enthält der
Bereich 318, wie dargestellt, eine Spalt-Dekoderschaltung
318-20, die ein Ausgangssignal erzeugt, welches anzeigt,
daß die Zählerstellung des Hauptspaltzählers auf Null verringert
worden ist. Die beiden Zähler 318-12 und 318-14
werden gleichzeitig mit einer Acht-Bit-Konstante von der ALU-
Ergebnis-Busleitung her geladen, und zwar auf das CLK-Impulssignal
hin, wenn die Signale CCGLL 00 (GAC-untere Ladung)
und CCGUL 00 (GAC-obere Ladung) als Binärsignale Null auftreten.
Das Laden erfolgt auf die Dekodierung eines Rechen-
Mikrobefehls hin, der die Erzeugung des Signals CFGLL 10 bewirkt.
Dies geschieht auf einen Rechen-Mikrobefehl hin.
Während des Betriebs werden die Zählerstellungen beider
Zähler durch das Signal CCGEC 10 verringert, das durch ein
Flipflop 318-160 erzeugt wird. Dieses Flipflop wird über
ein UND-Glied 318-162 auf das Signal CQCGP 10 hin gesetzt,
das als Binärsignal 1 auftritt. Das Flipflop 318-60 wird
über ein UND-Glied 318-164 am Ende einer Taktimpulszeit
(PDA) zurückgestellt. Die Inhalte beider Zähler werden
mittels einer herkömmlichen Vergleicherschaltung verglichen,
die in dem Block 318-18 enthalten ist. Wird eine Nicht-
Übereinstimmung festgestellt, so gibt die Vergleicherschaltung
ein Fehlersignal CCGCE 10 als Binärsignal 1 ab.
Unter Bezugnahme auf Fig. 3k wird der Bereich 310 im einzelnen
beschrieben. Wie oben erläutert, besteht dieser Bereich
aus einem integrierten Steueradapter 310-2 und aus
Lese/Schreib-Multiplexer- und Pufferschaltungen, die in dem
Block 310-3 enthalten sind. Wie aus Fig. 3k hervorgeht,
enthält der Adapter 310-2 eine Vielzahl von Registern,
die die Konditionierung des Adapters und einer ausgewählten
Einrichtung ermöglichen. Diese Register enthalten ein
Einrichtungs-Anschlußregister 310-1, ein Einrichtungs-
Befehlsregister 310-4 und ein Adapter-Befehlsregister
310-6 sowie ein Parameter-Register 310-8. Jedes Register
wird in einer speziellen Ablauffolge zur Speicherung einer
Information freigegeben. Dabei werden insbesondere die
verschiedenen Register für die Speicherung von Signalen
durch Steuersignale CFDPL 10, CFDCL 10, CFACL 10 und CFPRL 10
freigegeben. Diese Signale werden aus der Dekodierung
eine speziellen Felds eines Verknüpfungs-Mikrobefehls
durch die DOR-Dekoderschaltungen des Bereichs 304
gewonnen. Wie dargestellt, werden die Register auf die
Steuersignale hin von der ALU-Ergebnis-Busleitung des
Blocks 310-3 geladen. Die Schreib-Multiplexerschaltung
dient als Tasteinrichtung für sämtliche Schreiboperationen;
sie erhält Eingangssignale von den verschiedenen Bereichen
des Prozessors (zum Beispiel von dem F-Register des Pufferbereichs
302-50).
Das Einrichtungs-Anschlußregister 310-1 ist normalerweise
das erste Register, das in einer vorgegebenen Ablauffolge
geladen wird und das dazu benutzt wird, einer bestimmten
Einrichtung eine Verknüpfungskanalnummer zuzuordnen.
Dies bedeutet, daß die von der ALU-Ergebnis-Busleitung her
zugeführten vier Bits niedriger Wertigkeit in das Einrichtungs-
Anschlußregister geladen werden und daß ein
Einrichtungs-Anschlußdekoder 310-10 diese Bits in eine
Anzahl von Auswahlsignalen decodiert, von denen lediglich
einige dargestellt sind. Diese Auswahlsignale werden zur
Auswahl irgendeiner Speichereinrichtung von zwölf Massenspeichereinrichtungen
verwendet. Das Parameter-Register
310-8 ist normalerweise das zweite Register, das geladen
wird. Es wird von dem Lese/Schreib-Speicherbereich her
mit der zuvor gespeicherten Einrichtungs-Parameter-Bytes-
Information geladen, die für eine bestimmte Operation
über die ALU-Einheit benötigt wird. Dieses Informations-
Bytes wird durch die Adapter-Steuerschaltungen 310-12
decodiert und führt zur Erzeugung von Steuersignalen,
die den Adapter veranlassen, in einem vorgegebenen Betrieb
zu arbeiten. Da Einzelheiten für die vorliegende
Erfindung nicht relevant sind, werden sie hier nicht gegeben.
Das Einrichtungs-Befehlsregister 310-4 erhält eine Information
von der ALU-Einheit und leitet die Information
unmittelbar an eine bezeichnete Einrichtung der Einrichtungen
weiter, um den Befehl auszuführen (und zwar entsprechend
der Auswahl durch den Einrichtungs-Anschluß-
Dekoder 310-10). Das Adapter-Befehlsregister 310-6 ist
normalerweise das letzte Register, das in der Ablauffolge
geladen wird und das die Schaltungen innerhalb
des Adapters 310-2 veranlaßt, den angegebenen Einrichtungsbefehl
auszuführen. Die vier Bits A 1 AC 4 bis
A 1 AC 7 niedriger Wertigkeit werden durch einen Adapter-
Befehlsdekoder 310-14 decodiert, der Signale erzeugt,
die zum Setzen verschiedener Markierungsleitungen der
Schnittstelle oder zur Bezeichnung bestimmter Operationsarten
innerhalb des Adapters verwendet werden. Die Bits
Null bis 3 werden zur Steuerung von Gatterschaltungen
abgegeben und zum Setzen verschiedener Steuer-Flipflops
herangezogen, die in einem Block 310-16 enthalten sind.
Diese Flipflops liegen fest, ob der Adapter eine Lese-
Operation oder eine Schreiboperation auszuführen hat.
Zusätzlich bestimmen die betreffenden Flipflops eine
weitere Information in bezug auf den Operationstyp.
Da eine Diskussion derartiger Schaltungen nichts mit der
vorliegende Erfindung zu tun hat, ist sie hier auch nicht
enthalten.
Wie aus Fig. 3k ferner hervorgeht, enthält der Adapter
ein Schieberegister 310-18 sowie
zugehörige Lese/Schreib-Takt- und Zählerschaltungen 310-20.
Wenn in einem Serienbetrieb gearbeitet wird, wird die
über eine Schnittstellenleitung SRI von der Einrichtung
her zugeführte Information in das Schieberegister 310-18
unter der Steuerung einer Lesetaktschaltung eingeschoben,
die von herkömmlichem Aufbau ist. Wenn das Einschieben
erfolgt, wird die Zählerstellung eines in dem Block 310-
20 enthaltenen Bit-Zählers in jedem zweiten Bitintervall
um 1 erhöht, da normalerweise ein Synchronisationsbit
jedes Datenbit trägt. Wenn die Zählerstellung des Zählers
auf einen vorbestimmten Wert erhöht worden ist, wie auf
eine Zählerstellung 6 bei einem 6-Bit-Betrieb oder auf
eine Zählerstellung 8 bei einem 8-Bit-Betrieb, bewirkt
dies, daß das zusammengesetzte Zeichen parallel in einen
Lese-Puffer 310-32 übertragen wird. Darüber hinaus veranlaßt
diese Übertragung den Adapter 310-2, ein Daten-
Verfügbarkeitssignal (A 1 DAV 10 tritt als Binärsignal 1
auf) zu erzeugen, was dem Prozessor-Folgesteuerungs-
Verknüpfungsschaltungen des Bereiches 304 anzeigt, daß
ein Datenbyte in dem Lesepuffer 310-32 gespeichert worden
ist und für die Übertragung in das F-Register des Bereiches
302 bereitsteht. Auf die Feststellung des Daten-Verfügbarkeitssignals
hin quittieren die Folgesteuerungs-Schaltungen
des Bereiches 304 das Signal durch Abgabe eines
Datenquittungssignals A 1 DAK 10 als Binärsignal 1. Damit
dürfte ersichtlich sein, daß die Erzeugung der Signale
A 1 DAV 10 und A 1 DAK 10 die Adapter- und Prozessor-Operationen
miteinander zu synchronisieren gestattet.
Im Falle einer Schreiboperation bewirkt der Adapter 310-2
auf die Feststellung hin, daß Daten in dem F-Register
gespeichert worden sind, daß das Einrichtungsabtastsignal
DXDCS 10 als Binärsignal 1 auftrifft. Der in das Einrichtungs-
Befehlsregister 310-4 geladene Befehl wird decodiert und
ausgeführt. In ähnlicher Weise benutzt der Adapter die
Signale A 1 DAK 10 und A 1 DAV 10 für die Abtastung, wenn
ein Byte in dem F-Register gespeichert worden ist und für
die Übertragung in einen Schreibpuffer 310-34 und sodann
in das Schieberegister 310-18 bereitsteht, um jeweils ein
Bit auf die Schnittstellenleitung SWO hinauszuschieben.
Das Schieberegister 310-18 enthält, obwohl hierüber nichts
gezeigt ist, Gatterschaltungen, die so angeschlossen sind,
daß sie durch die Taktschaltungen 310-20 veranlaßt werden,
die Bitübertragungen mit Synchronisationsbit abzuwechseln.
Wenn der Adapter im Unterschied hierzu in einem Parallelbetrieb
arbeitet, überträgt und empfängt er Informationsbytes
von dem Schreibpuffer 310-34 bzw. dem Lesepuffer
310-32 über die Busleitungen S 10-D 17. In dieser Betriebsart
übertragen die Leitungen SWO und SRI Abtastsignale.
Unter Bezugnahme auf die Flußdiagramme gemäß Fig. 6a bis
6c wird nunmehr die Arbeitsweise der Anordnung gemäß
der vorliegenden Erfindung, wie sie in Fig. 1, 2 und 3a
bis 3k angegeben ist, beschrieben. Zunächst empfängt
die Eingabe/Ausgabe-Steuereinrichtung 106-6 einen Eingabe/
Ausgabe-Befehl, der eine Such-Kennzeichenoperation angibt.
Die Eingabe/Ausgabe-Steuereinrichtung 106-6 decodiert
den Befehl und löst dann eine Übertragung von Eingabe/
Ausgabe-Befehlsbytes an den Massenspeicher-Prozessor 300
aus. Die Bytes enthalten ein Verknüpfungskanalnummern-
(LCN)-Byte und Bytes von einem oder mehreren Kanalbefehlsworten.
Das LCN-Byte zeigt an, welcher Kanal in die Ausführung
des Befehls einzubeziehen ist. Die Befehlsworte
enthalten ein Befehlscodebyte, welches den Operationstyp
angibt, Zählbytes, die die Anzahl der zwischen dem Hauptspeicher
und dem Prozessor zu übertragenden Bytes angeben,
und Adressenbytes, die eine Hauptspeicher-Startadresse für
die Übertragung angeben.
Nach Empfang von Signalen durch die Eingabe/Ausgabe-Steuereinrichtung,
welche anzeigen, daß der Massenspeicher-
Prozessor 300 bereit ist, Befehlsbytes für die Ausführung
der Operation aufzunehmen, beginnt die betreffende Steuereinrichtung
mit der Übertragung der Bytes, und zwar beginnend
mit dem LCN-Byte. In Fig. 6a ist in vereinfachter Form
ein Teil einer Kanalprogramm-Auslöseroutine gezeigt, die
im Zuge der Verarbeitung eines nächsten Befehls benutzt
wird. In Fig. 6a und ebenso in den übrigen Flußdiagrammen
sind die verschiedenen Mikrobefehle durch "relative"
Adressen oder Verknüpfungsadressen bezeichnet, die den
Namen der Routine und eine Buchstaben-Nummer enthalten
(zum Beispiel AO 700). Die Mikrobefehle jeder Routine
werden nacheinander physikalischen Adressen in dem
Festwertspeicher zugeteilt, und zwar in Übereinstimmung
mit der alphanumerischen Reihenfolge ihrer relativen Adressen.
Der Massenspeicher-Prozessor 300 bereitet sich für
die Aufnahme des Befehls durch Ausführung eines Eingabe/
Ausgabe-Mikrobefehls vor, der Unterbefehlssignale erzeugt,
die das Setzen der TRM- und RQD-Flipflops und das Laden
des PSI-Zählers mit einer bestimmten Zählerstellung (das
ist die Zählerstellung 3) bewirken. Das LCN-Byte wird
in den PSI-Schreibpuffer 302-12 auf das Signal PAODV 10
hin geladen, das als Binärsignal 1 durch die Prozessor-
PSI-Schaltungen abgegeben wird. Die Schreibpuffer-Inhalte
werden in das A-Register geladen, wenn das Signal CDPTA 10
mit hohem Pegel von den Steuerschaltungen 302-70 abgegeben
wird. Danach führen die Steuerschaltungen 302-70
nacheinander die Signale CDATB 10, CDBTC 10 und CDCTD 10
in Binärsignale 1 über.
Wie aus Fig. 6a ersichtlich ist, überprüft der Festwertspeicher
während des Übertragungsintervalls den
Inhalt des C-Registers bezüglich des Eintreffens des LCN-
Bytes, und zwar durch Ausführung eines schnellen Verzweigungs-
Mikrobefehls AO 700. Wenn das C-Register geladen
ist, hält der Speicher die Prüfung an, und sodann wird
der nächste Mikrobefehl AO 600 für die Speicherung des
LCN-Bytes in einem der Allzweckregister (das heißt GPR Nr. 0)
vorgerückt. Danach führt der Prozessor 300 einen weiteren
Mikrobefehl AO 850 aus, der eine Bitdarstellung des LCN-
Bytes, welches in dem Allzweckregister Nr. Null gespeichert
ist, an das Einrichtungs-Adapter-Anschlußregister über
die ALU-Einheit überträgt. Gleichzeitig wird das LCN-Byte
über die ALU-Einheit übertragen und in dem RWS-Einrichtungs-
Anschlußregister gespeichert.
Es sei angenommen, daß sich das LCN-Bytes auf einen Befehl
eines zuvor aktivierten Kanalprogramm bezieht. Deshalb
ist bezüglich der Einrichtung angenommen, daß sie "belegt"
worden ist. Ferner wird der Bit-Zustand dieser Einrichtung
erhalten. Demgemäß sind in dem Flußdiagramm nach Fig. 6a
derartige Einzelheiten weggelassen.
Die Prozessor-Hardware verringert die Zählerstellung des
PSI-Zählers um 1 durch das Signal STI, und zwar jedesmal,
wenn er ein Byte aufnimmt. Der Mikroprogramm-Steuerspeicher
wartet, bis das nächste Byte in das C-Register geladen ist.
Durch Ausführen einer ähnlichen Folge von Operationen
speichert der Prozessor 300 das Befehlscodebyte in einem
anderen Allzweckregister (das ist GPR Nr. 9). Die Prozessor-
Hardware beendet die Routine-Ablauffolge auf die Aufnahme
des dritten Bytes hin, welches ein Kennzeichen-Byte ist.
Dieses Byte wird in ein anderes Allzweckregister geladen.
Zu diesem Zeitpunkt hat die Prozessor-Hardware die Zählerstellung
des PSI-Zählers auf Null verringert. Dadurch
wird das Ende der Übertragung signalisiert.
Der Prozessor 300 tritt in eine Befehls-Decodier-Ablauffolge
ein, in der er die Bits des Befehlscodes überprüft.
Dies bedeutet, daß er einen mit CMDEC AO 700 bezeichneten
Mikrobefehl ausführt, gemäß welchem er den Befehlscode
aus dem Mehrzweckregister Nr. 9 holt und in die ALU-
Verriegelungsschaltungen lädt. Während einer Aufeinanderfolge
von Verzweigungs-Mikrobefehlen überprüft der Prozessor
sodann den Befehlscode, wobei zu einem Zeitpunkt jeweils
ein Bit oder eine Anzahl von Bits geprüft wird, und sodann
erfolgt auf die Ergebnisse der Prüfung hin eine Verzweigung
zum Anfang einer geeigneten Mikroprogrammroutine für die
Ausführung des Befehls. Die Bits werden sequentiell überprüft,
um leichter das Auftreten von sogenannten "unberücksichtigt
zu lassenden" Bits festzustellen (das sind
diejenigen Bits, die die Auswahl einer Routine nicht benötigen.
Es sei angenommen, daß eine durch ein Kanalprogramm bezeichnete
Eingabe/Ausgabe-Operation eine Suchoperation ist,
bei der die Bytes des Kennzeichenfeldteils der Aufzeichnung
gemäß Fig. 5 aus der Massenspeichereinrichtung gelesen
und mit den Suchargument-Bytes verglichen werden, die
der Prozessor von der Eingabe/Ausgabe-Steuereinrichtung erhält.
Aus Fig. 6b ergibt sich dabei, daß der Festwertspeicher
den Prozessor veranlaßt, eine Prüfung auszuführen,
um zu bestimmen, ob er in bezug auf die Aufzeichnung, die
gelesen wird, "orientiert" ist. Im einzelnen ist zu bemerken,
daß der Prozessor zuvor eine Orientierungsinformation
in einem Mehrzweckregister gespeichert hatte,
welche Information die relative Stellung des Massenspeichermediums
und des Formats der Aufzeichnung, die von einer
Spur gelesen wird, angibt. Dabei prüft der Prozessor diese
Information (das heißt ein bestimmtes Bit) um zu bestimmen,
wann eine durch den Befehl bezeichnete Operation
auszuführen ist. Wenn die verschiedenen Felder innerhalb
einer Aufzeichnung gelesen werden, werden die Bits der
Orientierungsinformation eines in dem Allzweckregister
bzw. Mehrzweckregister gespeicherten Steuer-"Arbeitsbytes"
aktualisiert.
Aus Fig. 5a und 5b geht hervor, daß der Anfang einer
Spur durch eine Indexmarkierung angezeigt wird. Wenn die
ausgewählte Massenspeicher-Einrichtung dem Adapter signalisiert,
daß sie den Anfang der Spur ermittelt hat, wird
die Leitung IDX in den Binärzustand 1 gebracht. Der
Adapter gibt seinerseits ein Signal an den Prozessor ab,
der ein erstes Bits in dem Steuerarbeitsbyte in ein Binärsignal
1 überführt, wodurch die Aufnahme eines Index-Markierungssignals
angezeigt wird. Der Zustand dieses Bits
wird dadurch überprüft, daß der Festwertspeicher einen
Verzweigungs-Mikrobefehl AO 300 ausliest bzw. ausgibt.
In dem Fall, daß dieses Bit nicht ein 1-Bit ist, führt
der Prozessor eine Verzweigung zu einer anderen Mikroprogrammroutine
aus, und zwar beginnend mit dem Mikrobefehl
AO 100, um nämlich ein Zählfeld abzuholen, welches die
Stelle des Aufzeichnungsträgers in bezug auf die geschriebene
Aufzeichnung anzeigt.
Die nächste Prüfung, die der Prozessor ausführt, besteht
darin zu bestimmen, ob der Kopf den Kopfteil bezüglich
des Kennzeichensignalspalts festgestellt. Dies bedeutet,
daß das nächste Feld ein Kennzeichensignalfeld ist.
Dies erfolgt durch Ausführung eines weiteren Verzweigungs-
Mikrobefehls A 1000. Unter der Annahme, daß das in demselben
Mehrzweckregister enthaltene Steuerarbeitsbyte anzeigt,
daß sich der Lese-Schreibkopf in dem Kopfteil-Kennzeichen-
Spalt befindet, werden die Ergebnisse der Prüfungen, die
bezüglich des Zustands eines weiteren Bits innerhalb des
Steuerbits unternommen werden, das in dem Mehrzweckregister
gespeichert ist, positiv sein. Der Festwertspeicher geht
dann auf den nächsten Speicherplatz über, aus welchem er
einen weiteren Mikrobefehl BO 300 ausliest, der den Inhalt
von GPR Nr. 10 abholt und den Zustand eines Bits 6 überprüft.
Auf diese Weise wird festgestellt, ob dies ein
erster Durchlauf bzw. Arbeitsgang ist. Dadurch wird angezeigt,
daß der Prozessor nicht nach einem Kennzeichen oder
einer vorhergehenden Aufzeichnung auf diesen Kanalbefehl
hin gesucht hat. Da dieser Arbeitsgang bei diesem Beispiel
der erste Arbeitsgang bzw. Durchlauf ist (das heißt, daß
das Bit 6 normalerweise eine binäre Null ist), geht der
Festwertspeicher dann auf den Mikrobefehl BO 600 über,
wie dies in Fig. 6b angegeben ist.
Der Prozessor liest einen Eingabe/Ausgabe-Typ-Mikrobefehl
BO 600 aus, der das Format des oberen Befehls gemäß Fig. 4e
besitzt. Diesen Mikrobefehl benutzt der Prozessor, um
die Hardware-Wege für den ersten Durchlauf einer Such-
Kennzeichenoperation einzustellen bzw. festzulegen. Das
Eingabe/Ausgabe-Mikrobefehls-Unteroperationscodefeld wird
als "00" codiert, um das Laden des PSI-Zählers von dem
örtlichen Lese/Schreib-Speicherregister her anzugeben.
Dieses Register enthält normalerweise die Kennzeichenlängen-
Information, die von dem Kopfteil der Aufzeichnung erhalten
wird, welche gelesen wird. Der Datenzähler wird
von einem vorhergehenden Befehl geladen, da zuvor angenommen
worden war, daß der Orientierungstest positiv war.
Das PSI-Folgesteuerungs-Flipflop-Feld des Eingabe/Ausgabe-
Mikrobefehls BO 600 wird auf den Code "1001" gesetzt,
so daß Daten von der Eingabe/Ausgabe-Steuereinrichtung
angefordert werden und der Eingabe/Ausgabe-Steuereinrichtung
signalisiert wird, um die Übertragung mit dem letzten Byte
zu beenden. Das Zählfeld enthält ausschließlich Nullen,
und das Sprungzählfeld ist auf "01" gesetzt, was anzeigt,
daß der Prozessor das erste Byte des Kennzeichenfelds
der Aufzeichnung unbeachtet zu lassen hat, da es ein Synchronisierbyte
ist, welches den Anfang eines Felds signalisiert.
Das nächste Feld, MSCSEQ-Flipflop, des Mikrobefehls BO 600
wird als "0101" decodiert, welches eine Suche einer ersten
Durchlauffunktion angibt.
Wenn der Mikrobefehl BO 600 in das örtliche Festwert-Speicherregister
ausgelesen ist, wird er durch den Folgesteuerungs-
Dekoder decodiert, und die in Frage kommende Steuer- und
Ablaufsteuer-Flipflops werden in Binärzustände 1 gesetzt.
Dies bedeutet, daß das erste Durchlauf-(CQFPF)-Flipflop
308-1, das Lese/Schreib-Aktiv-(CQRWA)-Flipflop 308-2
und das Such-CQSHO-Flipflop 308-3 jeweils in den Binärzustand
1 umgeschaltet werden. Das Übertragungs-(CQTXO)-
Flipflop 308-5 verbleibt im Binärzustand Null. Außerdem
ist das Übertragungs-Eingangssignal CQTXI 10 ein Binärsignal
1, welches die Pufferregister in ihre statischen Zustände
führt. Die übrigen Flipflops gemäß Fig. 3c verbleiben
in ihren Binärzuständen Null. Die Sprung-Flipflops 308-101
und 308-102 gemäß Fig. 3d sind in eine Zählerstellung
"01" gesetzt. Das Vergleicherzyklus-CQCMP-Flipflop 308-100
wird in einen Binärzustand 1 umgeschaltet, wenn das Such-
Flipflop in den Binärzustand 1 umschaltet. Dieses Flipflop
gibt die ALU-Ergebnis-Test- und Speicherschaltungen 316-30
(siehe Fig. 3i) für die Speicherung der Suchergebnisse
während des jeweiligen Byte-Vergleichs frei (das bedeutet,
daß dem Signal CACMT 10 ermöglicht wird, in den Binärzustand
1 überzugehen, wenn die beiden Register C und D
Bytes speichern - Signal CACMT 1 B=1).
Das Such-CQSHO-Flipflop veranlaßt im Binärzustand 1 die
Verknüpfungsschaltungen gemäß Fig. 3h, den RWS-Speicher
in den Stand zu setzen, die Bytes in den in Frage kommenden
Speicherplätzen zu speichern, und zwar wie sie von der Eingabe/
Ausgabe-Steuereinrichtung und der Einrichtung übertragen
werden. Das den ersten Durchlauf/das Format betreffende
CQFPF-Flipflop veranlaßt im Binärzustand 1 die Puffersteuerschaltungen,
die Register A, B und C Bytes von der
PSI-Steuereinrichtung her zu übertragen anstatt vom RWS-
Speicher. Die Flipflops CQFPF und CQRWA bewirken, wenn
sie beide im Binärzustand 1 sind, daß der RWS-Speicher
306-2 mit dem C-Register verbunden wird. Dies ermöglicht,
daß die von der Eingabe/Ausgabe-Steuereinrichtung empfangenen
Bytes in den RWS-Speicher geschrieben werden. Außerdem
ruft das CQFPF-Flipflop einen Weg zwischen dem D-Register
und dem RWS-Speicher 306-2 hervor. Diese Wege ermöglichen
das Einschreiben der Suchargument-Bytes von der Eingabe/
Ausgabe-Steuereinrichtung her und der Kennzeichenfeld-Bytes,
die aus der Massenspeichereinrichtung gelesen worden sind,
in den RWS-Speicher 306-2, und zwar in der Weise, daß
dieses Einschreiben gleichzeitig erfolgt.
Wie aus Fig. 6b hervorgeht, lädt der Prozessor 300
die in Frage kommende Startadresse in das RWS-Adreßregister
von dem Festwertspeicher her, und zwar durch
Ausführen eines RWS-Mikrobefehls, der mit BO 700 bezeichnet
ist. Anschließend liest der Prozessor einen Verzweigungs-
Mikrobefehl aus, der auf seine Decodierung hin feststellt,
ob der Befehl von der Eingabe/Ausgabe-Steuereinrichtung her
zeitgerecht eingetroffen ist (das heißt, ob der Lese/Schreib-
Kopf sich noch in der Kopfteil-Kennzeichenspalte befindet,
die anzeigt, daß der Befehl nicht zu spät auftritt, um
auf das bezeichnete Feld hin zu arbeiten. Nimmt man an,
daß dies der Fall ist, so wird der Test-"Ketten-Schlupf"
im Negativen liegen (das ist das Spalt-Zähler-Null-Signal
CCGCZ 10). Außerdem beginnt der Prozessor 300 nunmehr,
die Einrichtung einzustellen (siehe Fig. 3k). Wie aus
Fig. 6b hervorgeht, liest der Prozessor Mikrobefehle aus,
und zwar mit einem Mikrobefehl CO 200 beginnend. Dies
erfolgt, obwohl es nicht dargestellt ist, dann, wenn die
Zählerstellung des Spalt-Zählers auf Null verringert worden
ist. Der erste Verknüpfungs-Mikrobefehl (siehe Fig. 4g)
bewirkt, wenn er ausgelesen und decodiert ist, daß ein
durch das Konstanten-Feld bezeichneter Lesebefehl in das
Einrichtungsbefehlsregister 310-4 geladen wird. Ein
weiterer Verknüpfungs-Mikrobefehl desselben Typs bewirkt,
daß ein Befehl in das Adapter-Befehlsregister 310-6
geladen wird. Dies veranlaßt den Adapter 310, an die
DCS-Leitung ein Binärsignal 1 abzugeben. Dadurch wird
der Einrichtung der Befehl signalisiert. Darüber hinaus
wird der Adapter 310 auf den Befehl hin derart betrieben,
daß Bytes über den Lesepuffer 310-32 ausgesendet werden,
nachdem festgestellt worden ist, daß die benötigte vorläufige
Steuerungsinformation gelesen ist, wie zum Beispiel
ein bestimmtes Start-Muster.
Anschließend liest der Prozessor 300 einen Verzweigungs-
Mikrobefehl CO 500 aus, der auf seine Decodierung hin
erneut den Zustand des Bits 6 des Kennzeichen-Byte-
Inhalts von GPR Nr. 10 überprüft. Da dieses Bit als Binärsignal
Null auftritt, läuft der Festwertspeicher weiter
zu dem Mikrobefehl CO 800, in welchem das Bit 6 des Kennzeichen-
Bytes in GPR Nr. 10 als Binärsignal 1 auftritt,
wie dies in Fig. 6b gezeigt ist. Anschließend liest
der Prozessor einen Verknüpfungs-Mikrobefehl (F=1) CO 900
aus. Dieser Mikrobefehl bewirkt auf seine Decodierung
durch den Folgesteuerungs-Dekoder hin die Festlegung der
Endwege, und zwar für die Freigabe des ALU-Bereichs zwecks
Vergleichs des Byte-Inhalts der Register C und D. Dies
bedeutet, daß die B-Operand- und A-Operand-Felder des
Verknüpfungs-Mikrobefehls derart kodiert werden, daß
in den MUX-Adressenspeichern 314-21 und 314-22 codierte
Signale gespeichert sind, die die B-Op-MUX-Einrichtung
314-22 bzw. die A-Op-MUX-Einrichtung 314-24 veranlassen,
an die Haupt- und Hilfs-ALU-Einheiten die Inhalten der
Register C und D als Operanden abzugeben. Dadurch ist
die Verbindung des Vergleichswegs abgeschlossen. Außerdem
veranlassen die Signale, daß die ALU-Einheit das Gleichheitssignal
CAEQA 10 als Binärsignal 1 abgibt. Dies
erfolgt dadurch, daß die Betriebsart-Signale M 0 bis M 3
derart festgelegt werden, daß ein Ergebnis f=1 angegeben
wird. Dies schaltet seinerseits das Gleichheits-
Speicher-Flipflop 316-300 in den Binärzustand 1 um,
und zwar in Bereitschaft für das Suchen.
Zu diesem Zeitpunkt sind die unterschiedlichen Gruppen
der Pufferregister derart verbunden, daß Bytes in der
richtigen Richtung verschoben werden. Die PSI-Schnittstelle
ist in den Stand versetzt, Bytes von der Eingabe/Ausgabe-
Steuereinrichtung her aufzunehmen. Der Einrichtung
ist ein Befehl zugeführt worden; der Adapter ist in den
Stand versetzt worden, Bytes von der Einrichtung her aufzunehmen.
Der ALU-Bereich ist schließlich in den Stand
versetzt, die Bytes von den bezeichneten Quellen her
zu vergleichen. Außerdem sind die Zähler auf die in
Frage kommenden Zählerstellungen eingestellt worden.
Der PSI-Zähler ist auf eine Zählerstellung eingestellt
worden, die einer Kennzeichenlänge entspricht. Danach
wird die Zählerstellung des betreffenden Zählers automatisch
verringert, und zwar auf die Aufnahme jedes Bytes von der
Eingabe/Ausgabe-Steuereinrichtung her. Der Datenzähler ist
in eine geeignete Zählerstellung eingestellt worden (das
ist die in dem Zählfeld enthaltene Kennzeichenlänge). Außerdem
wird die Zählerstellung dieses Zählers automatisch verringert,
wenn das jeweilige Byte von der Einrichtung her
empfangen wird.
Zu diesem Zeitpunkt ist die aus Hardware zusammengestellte
Firmenware vollständig, und der Prozessor 300 ist unter
die Steuerung der Hardware gebracht. Dies bedeutet, daß
sämtliche Bytes-Übertragungen unabhängig von dem Festwertspeicher
erfolgen und damit frei von jeglichen Verarbeitungsverzögerungen
sind. Dies kann aus einer Überprüfung des
Flußdiagramms gemäß Fig. 6b ersehen werden. Der Festwertspeicher
tritt in eine Leerlaufschleife ein, die zwei
Verzweigungs-Mikrobefehle umfaßt, welche mit C 1000 und
C 1100 bezeichnet sind. Während der Übertragungsoperation
liest der Festwertspeicher einen FCB-Mikrobefehl aus,
der auf seine Decodierung hin den Zustand des Befehlsende-
CBEOC-Flipflops 304-300 gemäß Fig. 3f überprüft (das
heißt, daß eine Überprüfung des Eingangs Nr. 1 der
Schaltung 304-284 gemäß Fig. 3f erfolgt). Wenn das
CBEOC-Flipflop in den Binärzustand 1 gesetzt ist, signalisiert
dies der Firmenware, daß die Übertragungsoperation
vollständig ist. Wenn der Test positiv ist (CBEOC 10=1),
unterbricht der Festwertspeicher seinen Leerlauf und übernimmt
wieder die Steuerung durch den Weiterlauf auf den
Mikrobefehl C 1300, woraufhin er die Ergebnisse der Such-
Kennzeichenoperation in der beschriebenen Weise speichert.
Durch einen weiteren FCB-Mikrobefehl C 1100 überprüft der
Prozessor 300 ebenfalls das Ende einer Spur. Dies wird
von der Einrichtung signalisiert, die eine Indexmarkierung
feststellt. Dies führt seinerseits das Signal A 1 IDT 00 in
ein Binärsignal Null. Bis eines dieser Signal in ein Binär-
Signal 1 überführt wird, setzt der Prozessor 300 seinen
Leerlauf durch die beiden Mikrobefehls-Schleifen fort.
Während des Leerlaufs bewirken die Schaltungen des Blocks
316-30 jeweils dann, wenn ein Byte in den Registern CD
gespeichert ist, daß das Vergleichs-Zeitsignal CACMT 10
in ein Binärsignal 1 überführt wird. Wenn beide Bytes
übereinstimmen, führt der ALU-Bereich 316-2 das Signal
CAEQA 10 in ein Binärsignal 1 über, welches seinerseits
das Flipflop 316-300 in dessen Binärzustand 1 hält.
Wenn in irgendeinem Vergleichsintervall die Bytes nicht
übereinstimmen, führt der ALU-Bereich das Signal CAEQA 10
in ein Binärsignal Null über. Dies führt das Haltesignal
CAEQS 1 H in ein Binärsignal Null über, welches das Flipflop
310-300 in den Binärzustand Null zurückstellt. Zu diesem
Zeitpunkt wird außerdem das Signal CAAEB 10 in ein Binärsignal
Null überführt. Demgemäß wird eine erste Nicht-
Übereinstimmung des Gleichheits-Vergleichs-Flipflop 310-300
zurückstellen, wobei dieses Flipflop in dem betreffenden
Zustand so lange verbleibt, bis ein weiterer Mikrobefehl
ausgeführt wird. Dies erfolgt nach Abschluß der Operation.
Aus Fig. 3f geht hervor, daß das Befehlsende-Flipflop
304-300 in den Binärzustand 1 gesetzt wird, wenn die
Zählerstellung des Datenzählers auf Null verringert worden
ist (das ist das Signal CCDCZ 1 A=1) und sämtliche Register
(das sind die Register A, B, C, D, E und F) leer sind
(das ist das Signal CDDBE 10=1). Unter der Annahme,
daß das letzte Byte übertragen worden ist und daß die
Zählerstellung des Datenzählers auf Null verringert worden
ist, geht der Festwertspeicher auf das Auslesen und
Decodieren des FCB-Mikrobefehls C 1010 hin auf den Verzweigungs-
Mikrobefehl 1300 über, der eine Überprüfung
ausführt um festzustellen, ob das EOC-Flipflop 304-300
im Binärzustand 1 gesetzt war, da nämlich das Ende
der Übertragungsoperation vorhanden war (das heißt,
daß die Zählerstellung des Datenzählers auf Null verringert
worden war) oder da ein Fehler durch den Adapter
310 festgestellt worden war (das ist das Signal AEERR 10=1).
Unter der Annahme, daß kein Fehler vorliegt, geht der
Festwertspeicher auf den Mikrobefehl DO 400 über, der
der erste Mikrobefehl einer Routine für die Berechnung
der Vergleichsergebnisse ist. Dabei werden entweder
ein Flipflop oder keines der Flipflops 316-300 und 316-310
des Ergebnis-Test- und Speicherbereichs 316-30 gemäß
Fig. 3h in den Binärzustand 1 gesetzt. Unter
der Annahme, daß ein Vergleich vorgenommen worden ist,
wird das Gleichheits-CAEQS-Flipflop 316-300 in den Binärzustand
1 gesetzt. Nach dem Setzen der Zustandsbits, die
die Ergebnisse der Kennzeichen-Suche wiedergeben, führt
der Prozessor einen Verzweigungs-Mikrobefehl aus, der
den Prozessor auf den Mikrobefehl DO 100 zurückführt.
Dieser Mikrobefehl prüft die Ergebnisse und setzt eine
Anzeigeeinrichtung. Der Prozessor 300 geht auf den Mikrobefehl
D 400 weiter, um festzustellen, ob ein Lesefehler
vorgelegen hat. Unter der Annahme, daß kein Lesefehler
vorgelegen hat, bedeutet dies, daß ein echter Vergleich
erfolgt ist. Nunmehr geht der Festwertspeicher auf eine
Mikrobefehls-Routine über, die mit dem Mikrobefehl H 100
beginnt. Diese Mikrobefehls-Routine lädt einen geeigneten
Code in ein Mehrzweckregister (GPR Nr. 8), das für die
Signalisierung zu der Eingabe/Ausgabe-Steuereinrichtung hin
verwendet wird. Nach geeigneten Signalaustauschvorgängen
über die periphere Untersystem-Schnittstelle PSI wird die
Eingabe/Ausgabe-Steuereinrichtung veranlaßt, den nächsten
auszuführenden Befehl auszusenden. Dieser Befehl könnte
zum Beispiel ein Befehl zur Ausführung einer Operation
in dem Datenfeld der Aufzeichnung sein, deren Kennzeichen
mit dem Kennzeichen vergleichbar ist bzw. übereinstimmt,
das von der Eingabe/Ausgabe-Steuereinrichtung abgegeben
worden ist.
In Fig. 6c sind die Operationen angegeben, die von dem
Prozessor ausgeführt werden, während dieser den nächsten
Befehl von der Eingabe/Ausgabe-Steuereinrichtung erwartet.
Während dieser Zeitspanne überläuft der Lese/Schreibkopf
der Massenspeicher-Einrichtung den Kennzeichen/Daten-Spalt
der Aufzeichnung (siehe Fig. 5b). Der Prozessor bewirkt
zum Beispiel das Abholen und Dekodieren des Mikrobefehls, der den
Datenzähler mit einer Zählerstellung lädt, die dem Datenlängenfeld
entspricht, welches in dem Zählfeld enthalten
ist, das dem Kennzeichenfeld der gerade gesuchten Aufzeichnung
zugehörig ist. Dies erfolgt in der Erwartung, daß der
nächste Befehl eine Operation bezüglich des Datenfelds
angeben wird. Die Routine gemäß dieser Figur wird "verarbeite
Dateiende" (PREOF) genannt. Wenn der Datenzähler
geladen wird, erfolgt außerdem eine Überprüfung bezüglich
einer Datenlänge Null. Ist die Datenlänge Null, so zeigt
dies an, daß dies ein Ende einer Dateiaufzeichnung ist.
Unter der Annahme, daß kein Dateiende vorliegt, geht
der Festwertspeicher auf den Mikrobefehl AO 100 über.
Dies führt zur Aussendung des in dem Allzweckregister
gespeicherten Codes der Eingabe/Ausgabe-Steuereinrichtung
hin. Damit liegt auch ein Teil der Anforderung für den
nächsten Befehl vor. Der Festwertspeicher kehrt dann auf
eine vorhergehende Routine zurück, gemäß der er den Inhalt
einer Adreßregisterstelle in dem RWS-Speicher derart
aktualisiert, daß diese dem Identifizierglied der letzten
Aufzeichnung entspricht, die erfolgreich gesucht worden ist.
Sodann geht der Festwertspeicher auf die Suchroutine
ein letztesmal über, um den PSI-Steuerbereich derart einzustellen,
daß der nächste folgende Befehl aufgenommen
wird, der schließlich eine Verzweigung zu der Befehlscode-
Routine CMDEC hin bewirkt, um den nächsten Befehlscode
zu decodieren.
Es dürfte ersichtlich sein, daß durch die vorliegende
Erfindung ein mikroprogrammierbarer Prozessor geschaffen
worden ist, der eine Hardware-Ablaufsteueranordnung zusätzlich
zu einem Mikroprogramm-Steuerspeicher enthält. Der
Steuerspeicher erzeugt Signale, die die Hardware-Ablaufsteueranordnung
veranlassen, in Frage kommende Hardware-
Wege für die Ausführung eines bestimmten Befehls einzustellen
bzw. festzulegen. Auf das betreffende Festlegen derartiger
Wege hin überträgt der Mikroprogramm-Steuerspeicher die
Steuerung auf die Hardware-Ablaufsteueranordnung, die
ermöglicht, daß die Datenübertragung mit maximaler Geschwindigkeit
fortgeführt wird, und zwar unabhängig von
der Betriebs- oder Durchlaufgeschwindigkeit des Steuerspeichers.
Bei der oben beschriebenen besonderen Operation war der
Steuerspeicher so lange unwirksam, bis die Hardware-Folgesteuerungsanordnung
den Abschluß der Übertragung signalisierte.
Selbstverständlich war die ALU-Einheit einbezogen
in den Vergleich der Bytes von zwei Quellen, wie sie
von der Suboperation benötigt werden. Es sei darauf hingewiesen,
daß im Fall von anderen Arten von Operationen
der Steuerspeicher anstatt in unwirksamem Zustand zu sein,
bestimmte Operationen ausführen könnte, die nicht in Beziehung
zu der Übertragung von Bytes stehen. Auf Rechen-
Mikrobefehle zum Beispiel hin, die aus dem Steuerspeicher
gelesen werden, kann die ALU-Einheit einen Spalt variabler
Länge als Teil eines Schreibbefehls berechnen. Dies heißt,
daß in gewissen Fällen einer Platte ein Format gegeben
wird, um einen Spalt variabler Länge zu erzielen, und zwar
auf der Basis der Länge des Datenfelds, das geschrieben
wird. Während die Datenübertragung stattfindet, berechnet
demgemäß die ALU-Einheit in dem Prozessor der vorliegenden
Erfindung den Spalt dadurch, daß die Daten-Länge und die
Kennzeichen-Länge addiert werden und daß ein Anteil von
der Summe genommen wird. Ähnliche Berechnungen können
als Teil eines Lesebefehls ausgeführt werden, und zwar
in dem Fall, daß ein Spalt variabler Länge in Erwartung
eines anderen Formats berechnet wird, das durch einen
Schreibbefehl angegeben wird, der mit dem ausgeführten
Lesebefehl verkettet ist.
Der Steuerspeicher kann darüber hinaus Operationen ausführen,
die den Inhalt verschiedener Adressenregister
innerhalb des Prozessor modifizieren. Hierzu gehört
die Aktualisierung bestimmter Register, um die Adresse
eines "letzten verarbeiteten Datenfelds" anzuzeigen.
Diese Operationen würden entweder ausgeführt werden, bevor
der Steuerspeicher in einen Leerlaufschleifenzustand eintritt,
oder während der Datenübertragung, wie sie für den
bestimmten Befehl benötigt ist, der ausgeführt wird.
Die obigen Beispiele sind lediglich zum Zweck der Veranschaulichung
gegeben worden. Weitere Einzelheiten bezüglich
der Art und Weise, in der gewisse, hier beschriebene
Operationen ausgeführt werden können, werden an anderer
Stelle näher erläutert. Im vorliegenden Fall sei jedoch
darauf hingewiesen, daß eine Vielzahl von Änderungen bezüglich
des Prozessors der vorliegenden Erfindung ohne
Abweichung vom Erfindungsgedanken vorgenommen werden können.
Um eine unnötige Belastung der Beschreibung mit dem Wissen
des Fachmanns zu bewirken, ist eine Blockdiagramm-Darstellungsweise
benutzt worden, wobei eine detaillierte
funktionelle Beschreibung des jeweiligen Blocks und
eine spezielle Identifizierung der Schaltungen, die der
jeweilige Block darstellt, gegeben worden ist. Dem einzelnen
Ingenieur steht es frei, Elemente und Bauteile, wie Flipflop-
Schaltungen, Schieberegister, etc., aufgrund eigenen
Wissens oder aus Standard-Druckschriften auszuwählen,
wie sie oben erwähnt worden sind.
Es sei ferner darauf hingewiesen, daß die genauen Codierungsmuster
für sämtliche Mikrobefehle hier nicht angegeben
worden sind, da der Ingenieur frei ist, alternative
Codierungsformen auszuwählen. Bezüglich weiterer Einzelheiten
und eines Einblicks in die Verfahren zur Ableitung
einer derartigen Codierung und zur Bereitstellung einer
zusätzlichen, das System betreffenden Information mag
auf die Druckschrift "Computer Design Fundamentals",
von Chu, McGraw-Hill Book Company, Inc. Copyright 1962
und auf die Druckschrift "Microprogramming Principles
and Practice" von S. S. Husson, Prentice-Hall, Inc., Copyright
1970 bezug genommen werden. Zum Zweck einer bequemen
Bezugnahme ist die folgende Anhangtabelle beigefügt,
in der bestimmte Ausdrücke definiert worden sind, die
im Zuge der Beschreibung einer bevorzugten Ausführungsform
der vorliegenden Erfindung benutzt worden sind.
Claims (15)
1. Mikroprogrammierbarer Peripheriegeräte-Prozessor (300)
in einem Datenverarbeitungssystem zur Steuerung der Übertragung
von Datenblöcken in beiden Richtungen zwischen an das
Datenverarbeitungssystem angeschlossenen Eingabe/Ausgabe-
Geräten (500) und einem Zentralprozessor (100),
wobei die Eingabe/Ausgabe-Geräte (500) an den Peripheriegeräte- Prozessor (300) über Eingabe/Ausgabe-Anschluß-Interfaces (400) und der Zentralprozessor (100) an den Peripheriegeräte- Prozessor (300) über Peripherie-Subsystem-Interfaces (200) angeschlossen sind,
mit einem vom Peripheriegeräte-Prozessor (300) umfaßten Mikroprogramm-Steuerspeicher (304), dem Operationsbefehlssignale zugeführt werden, auf deren Empfang hin der Mikroprogramm- Steuerspeicher (304) Sequenzen von Mikrobefehlssignalen generiert, welche nachgeschaltete Schalt- und Logikeinheiten (z. B. 314, 316) für die Durchführung von Kanalprogrammen aktivieren, dadurch gekennzeichnet,
daß der Peripheriegeräte-Prozessor (300) eine aus einer Vielzahl von Schalgliedern (308-1 bis 308-9) bestehende Folgesteuereinheit (308) umfaßt, die durch bestimmte der generierten Mikrobefehlssignale in einen für die Durchschaltung des Wegs für die Datenübertragung in Blöcken entsprechenden Bereitschaftszustand versetzt wird,
daß zur Bestimmung der Datenübertragungslängen dem Peripherie- Subsystem-Interface (200) zugeordnete PSI-Zählschaltungen (302-6, 302-10) und dem E/A-Anschluß-Interface (400) zugeordnete E/A-A/E-Zählschaltungen (318-2, 318-4) vorgesehen sind, die auf einen der Datenübertragungslänge entsprechenden Zählstand eingestellt werden,
daß nach Vollzug der Einstellung des genannten Bereitschaftszustands und des genannten Zählstands in einem Taktgenerator (308-2, 308-4) vom Mikroprogrammablauf unabhängige Taktzyklen für die Ablaufsteuerung der Datenübertragung erzeugt werden, so daß die Datenübertragung mit einer von der Operationsgeschwindigkeit des Mikroprogramm- Steuerspeichers (304) unabhängigen Geschwindigkeit durchgeführt wird,
daß der Mikroprogramm-Steuerspeicher (304) während des Ablaufs der Datenübertragungsoperationen sich entweder in einem inaktiven Zustand befindet oder nur solche Operationen ausführt, die von der Datenübertragung unabhängig verlaufen und auf diese keinen Einfluß haben,
daß die genannten Zählschaltungen (302-6, 302-10; 318-2, 318-4) im Verlauf der Übertragung von Datengruppen (Bytes) sukzessive dekrementiert werden, bis sie bei ihrem Ausgangszustand (Null) angelangt sind, woraufhin in einer Logikschaltung (304-30) ein Übertragungsschlußsignal erzeugt wird, das die Beendigung der Datenübertragungsoperation an den Mikroprogramm-Steuerspeicher (304) signalisiert, der daraufhin in die Bereitschaft versetzt wird, einen weiteren Operationsbefehl für eine Datenübertragung zu verarbeiten.
wobei die Eingabe/Ausgabe-Geräte (500) an den Peripheriegeräte- Prozessor (300) über Eingabe/Ausgabe-Anschluß-Interfaces (400) und der Zentralprozessor (100) an den Peripheriegeräte- Prozessor (300) über Peripherie-Subsystem-Interfaces (200) angeschlossen sind,
mit einem vom Peripheriegeräte-Prozessor (300) umfaßten Mikroprogramm-Steuerspeicher (304), dem Operationsbefehlssignale zugeführt werden, auf deren Empfang hin der Mikroprogramm- Steuerspeicher (304) Sequenzen von Mikrobefehlssignalen generiert, welche nachgeschaltete Schalt- und Logikeinheiten (z. B. 314, 316) für die Durchführung von Kanalprogrammen aktivieren, dadurch gekennzeichnet,
daß der Peripheriegeräte-Prozessor (300) eine aus einer Vielzahl von Schalgliedern (308-1 bis 308-9) bestehende Folgesteuereinheit (308) umfaßt, die durch bestimmte der generierten Mikrobefehlssignale in einen für die Durchschaltung des Wegs für die Datenübertragung in Blöcken entsprechenden Bereitschaftszustand versetzt wird,
daß zur Bestimmung der Datenübertragungslängen dem Peripherie- Subsystem-Interface (200) zugeordnete PSI-Zählschaltungen (302-6, 302-10) und dem E/A-Anschluß-Interface (400) zugeordnete E/A-A/E-Zählschaltungen (318-2, 318-4) vorgesehen sind, die auf einen der Datenübertragungslänge entsprechenden Zählstand eingestellt werden,
daß nach Vollzug der Einstellung des genannten Bereitschaftszustands und des genannten Zählstands in einem Taktgenerator (308-2, 308-4) vom Mikroprogrammablauf unabhängige Taktzyklen für die Ablaufsteuerung der Datenübertragung erzeugt werden, so daß die Datenübertragung mit einer von der Operationsgeschwindigkeit des Mikroprogramm- Steuerspeichers (304) unabhängigen Geschwindigkeit durchgeführt wird,
daß der Mikroprogramm-Steuerspeicher (304) während des Ablaufs der Datenübertragungsoperationen sich entweder in einem inaktiven Zustand befindet oder nur solche Operationen ausführt, die von der Datenübertragung unabhängig verlaufen und auf diese keinen Einfluß haben,
daß die genannten Zählschaltungen (302-6, 302-10; 318-2, 318-4) im Verlauf der Übertragung von Datengruppen (Bytes) sukzessive dekrementiert werden, bis sie bei ihrem Ausgangszustand (Null) angelangt sind, woraufhin in einer Logikschaltung (304-30) ein Übertragungsschlußsignal erzeugt wird, das die Beendigung der Datenübertragungsoperation an den Mikroprogramm-Steuerspeicher (304) signalisiert, der daraufhin in die Bereitschaft versetzt wird, einen weiteren Operationsbefehl für eine Datenübertragung zu verarbeiten.
2. Peripheriegeräte-Prozessor nach Anspruch 1, dadurch
gekennzeichnet, daß die Folgesteuereinheit
(308) eine Vielzahl von Flipflops (308-1 bis 308-9) aufweist,
welche so geschaltet sind, daß eine Zustandsumschaltung
auf bestimmte Steuersignale von dem Mikroprogramm-
Steuerspeicher (304) her erfolgt, und daß eine
der Routinen an einem bestimmten Punkt einen bestimmten
Mikrobefehl enthält, durch welchen eine
Voreinstellung der
Flipflops (308-1 bis 308-9) in bestimmte Zustände zwecks
Steuerung der Übertragung von Informationssignalen
erfolgt.
3. Peripheriegeräte-Prozessor nach Anspruch 2, dadurch
gekennzeichnet, daß der bestimmte
Mikrobefehl ein Eingabe/Ausgabe-Mikrobefehl ist,
welcher eine Vielzahl von Feldern aufweist, wobei
eines dieser Felder einem Folgesteuerfeld (MSCSEQFLD) entspricht,
welches durch seine Codierung bestimmt, welcher
Flipflop (308-1 bis 308-9) für
die Ausführung der durch den Befehlscode bezeichneten
Operation umzuschalten ist.
4. Peripheriegeräte-Prozessor nach einem der Ansprüche 1
bis 3, dadurch gekennzeichnet, daß
der Mikroprogramm-Steuerspeicher (304) einen Festwertspeicher
umfaßt.
5. Peripheriegeräte-Prozessor nach einem der vorangegangenen
Ansprüche, dadurch gekennzeichnet,
daß an der Folgesteuereinheit (308) eine
Verzweigungssteuereinrichtung (304-36) angeschlossen ist,
welche bei Fehlen eines bestimmten Signals (Befehlsende; Fig. 6b) von
der Folgesteuereinheit (308) derart betrieben ist,
daß der Mikroprogramm-Steuerspeicher (304) veranlaßt wird, die
Ausführung einer bestimmten Mikrobefehlsfolge zu
wiederholen, und daß die Verzweigungssteuereinrichtung
(304-36) bei Vorhandensein des genannten bestimmten Signals
derart betrieben
ist, daß eine angezeigte Beendigung der Datenübertragung
eine Unterbindung der Wiederholung der bestimmten
Mikrobefehlsfolge bewirkt.
6. Peripheriegeräte-Prozessor nach Anspruch 5, dadurch
gekennzeichnet, daß die Ablaufroutine
zwei Verzweigungs-Mikrobefehle enthält, welche so
codiert sind, daß sie Verzweigungsadressen und
Testbedingungen enthalten, die zwei Mikrobefehlsschleifen
solange festlegen, bis eine der Testbedingungen
erfüllt ist.
7. Peripheriegeräte-Prozessor nach Anspruch 5 oder 6,
dadurch gekennzeichnet, daß die Folgesteuereinheit
(308) eine Zyklussteuereinrichtung
enthält, welche eine Vielzahl
von Flipflops (308-100 bis 308-102, 304-300) enthält, die
in einer bestimmten Folge zu Zustandsumschaltungen
veranlaßt werden, um Signale zu erzeugen,
die unterschiedliche Operationsfolgen
für den Prozessor während der
Übertragung festlegen.
8. Peripheriegeräte-Prozessor nach einem der Ansprüche 5
bis 7, dadurch gekennzeichnet, daß
die Verzweigungssteuereinrichtung (304-36) auf ein bestimmtes
Signal hin eine Verzweigung zu
einer weiteren Mikrobefehlsfolge bewirkt, zur
Überprüfung der Ergebnisse der Übertragung
und daß auf die Ergebnissignale
hin auf eine vorbestimmte nächste Mikrobefehlsroutine
übergegangen wird.
9. Peripheriegeräte-Prozessor nach Anspruch 7 oder 8,
dadurch gekennzeichnet, daß einer
(304-300) der Flipflops
der Zyklussteuereinrichtung so geschaltet
ist, daß er das das Ende der Datenübertragung anzeigende Signal aufnimmt und
derart betrieben ist, daß er von einem ersten Zustand
in einen zweiten Zustand umschaltet, woraufhin die Verzweigungssteuereinrichtung
(304-36) veranlaßt
wird, das Ende der betreffenden Übertragung
zu überprüfen, um eine Wiederholung der Ablauffolge durch den Mikroprogramm-Steuerspeicher zu unterbinden.
10. Peripheriegeräte-Prozessor nach einem der vorangegangenen
Ansprüche, dadurch gekennzeichnet,
daß an dem Peripherie-Subsystem-Interface (200) eine bidirektionale Datenübertragungseinrichtung (302-50) mit
einer Vielzahl von in Reihe geschalteten (302-52 bis 302-57) angeschlossen ist,
welche Informationsbytes bidirektional seriell übertragen,
und daß mit den verschiedenen Pufferregistern (302-55 bis 302-57) und
der Folgesteuereinheit (308) eine Schaltungsanordnung (302-70, 302-72)
verbunden ist, welche durch die Folgesteuereinheit
(308) veranlaßt wird, selektiv die Pufferregister
in bestimmte Zustände zu versetzen, so daß die Datenübertragungseinrichtung
in einer Vielzahl von unterschiedlichen
Betriebsarten betreibbar ist.
11. Peripheriegeräte-Prozessor nach Anspruch 10, dadurch
gekennzeichnet, daß die Folgesteuereinheit
(308) je ein Übertragungseintritts- (308-10) und
-Austritts-Flipflop (308-5) enthält, welche mit der genannten Schaltungsanordnung
(302-70, 302-72) derart verbunden sind, daß die Schaltzustände der
Übertragungs-Flipflops für erste und zweite Gruppen
von Pufferregistern (302-52-302-57) die Datenübertragungsrichtung
bestimmen.
12. Peripheriegeräte-Prozessor nach Anspruch 11, dadurch
gekennzeichnet, daß eine erste Gruppe
die Register (A, B, C) und eine zweite Gruppe die Register
(D, E, F) enthält und daß die genannte Schaltungsanordnung
(302-70, 302-72) durch das Übertragungseintritts-Flipflop (308-10)
bei Vorliegen einer binären "1" bzw.
einer binären "0" gesteuert, die erste Registergruppe veranlaßt,
Bytes aus dem C-Register ins A-Register bzw.
aus dem A-Register ins C-Register zu übertragen,
und daß die genannte Schaltungsanordnung (302-20, 302-72), durch das
Übertragungsaustritts-Flipflop (308-5 ) bei Vorliegen
einer binären "1" bzw. einer binären "0" gesteuert,
die zweite Registergruppe veranlaßt, Bytes aus dem D-Register
ins F-Register bzw. aus dem F-Register
ins D-Register zu übertragen.
13. Peripheriegeräte-Prozessor nach Anspruch 12, dadurch
gekennzeichnet, daß aus den Zuständen der
Übertragungseintritts- und -Austritts-Flipflops (308-10, 308-5)
entsprechende Signale gebildet werden, welche für
die Festlegung bestimmter Subbetriebsarten
in Übereinstimmung mit den Zuständen der
Folgesteuerungs-Flipflops (308-1 bis 308-9) verwendbar sind.
14. Peripheriegeräte-Prozessor nach Anspruch 13, dadurch
gekennzeichnet, daß bei einer ersten Subbetriebsart
die genannte Schaltungsanordnung (302-70, 302-72) eine
Übertragung von Informations-Bytes
über die erste und zweite Gruppe
von Registern in den Prozessor ermöglicht.
15. Peripheriegeräte-Prozessor nach einem der vorangegangenen
Ansprüche, dadurch gekennzeichnet, daß eine
Rechen- und Verknüpfungs-Verarbeitungseinrichtung (316)
an der Datenübertragungseinrichtung
(302-50) angeschlossen ist,
daß eine Lese/Schreib-Speichereinrichtung (306) mit der
Rechen- und Verknüpfungseinrichtung (316) und der Datenübertragungseinrichtung
(302-50) verbunden ist und daß die
Folgesteuereinheit (308) derart betrieben ist, daß sie
Signale abgibt, welche die Rechen- und Verknüpfungs-
Verarbeitungseinrichtung (316) und die Lese/Schreib-
Speichereinrichtung (306) in den Stand versetzen,
Operationsfolgen auszuführen, die für die Verarbeitung
bzw. Speicherung der Byte-Signale erforderlich
sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US425760A US3909799A (en) | 1973-12-18 | 1973-12-18 | Microprogrammable peripheral processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2459975A1 DE2459975A1 (de) | 1975-06-19 |
DE2459975C2 true DE2459975C2 (de) | 1989-12-21 |
Family
ID=23687915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742459975 Granted DE2459975A1 (de) | 1973-12-18 | 1974-12-18 | Mikroprogrammierter peripherer prozessor sowie diesen verwendendes peripheres untersystem |
Country Status (6)
Country | Link |
---|---|
US (1) | US3909799A (de) |
JP (1) | JPS5838809B2 (de) |
CA (1) | CA1027250A (de) |
DE (1) | DE2459975A1 (de) |
FR (1) | FR2254831B1 (de) |
GB (1) | GB1496780A (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2261567B1 (de) * | 1974-02-20 | 1977-09-23 | Honeywell Bull Soc Ind | |
GB1499742A (en) * | 1974-10-30 | 1978-02-01 | Motorola Inc | Interface adaptor circuits in combination with a processo |
JPS5178643A (en) * | 1974-12-29 | 1976-07-08 | Fujitsu Ltd | Sabuchaneru memori akusesuseigyohoshiki |
US3976977A (en) * | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Processor for input-output processing system |
US4124888A (en) * | 1975-12-24 | 1978-11-07 | Computer Automation, Inc. | Peripheral-unit controller apparatus |
US4093981A (en) * | 1976-01-28 | 1978-06-06 | Burroughs Corporation | Data communications preprocessor |
US4090250A (en) * | 1976-09-30 | 1978-05-16 | Raytheon Company | Digital signal processor |
US4162520A (en) * | 1976-09-30 | 1979-07-24 | Burroughs Corporation | Intelligent input-output interface control unit for input-output subsystem |
JPS5362945A (en) * | 1976-11-17 | 1978-06-05 | Toshiba Corp | Disc address system |
US4161788A (en) * | 1977-04-21 | 1979-07-17 | Texas Instruments Incorporated | Bubble memory controller with multipage data handling |
US4099236A (en) * | 1977-05-20 | 1978-07-04 | Intel Corporation | Slave microprocessor for operation with a master microprocessor and a direct memory access controller |
US4246637A (en) * | 1978-06-26 | 1981-01-20 | International Business Machines Corporation | Data processor input/output controller |
US4293909A (en) * | 1979-06-27 | 1981-10-06 | Burroughs Corporation | Digital system for data transfer using universal input-output microprocessor |
NL8004884A (nl) * | 1979-10-18 | 1981-04-22 | Storage Technology Corp | Virtueel stelsel en werkwijze voor het opslaan van gegevens. |
USRE36989E (en) * | 1979-10-18 | 2000-12-12 | Storage Technology Corporation | Virtual storage system and method |
US4471457A (en) * | 1980-08-21 | 1984-09-11 | International Business Machines Corporation | Supervisory control of peripheral subsystems |
US4476522A (en) * | 1981-03-09 | 1984-10-09 | International Business Machines Corporation | Programmable peripheral processing controller with mode-selectable address register sequencing |
US4454575A (en) * | 1980-12-29 | 1984-06-12 | International Business Machines Corporation | Shared memory system with access by specialized peripherals managed by controller initialized by supervisory CPU |
US4394734A (en) * | 1980-12-29 | 1983-07-19 | International Business Machines Corp. | Programmable peripheral processing controller |
US4395756A (en) * | 1981-02-17 | 1983-07-26 | Pitney Bowes Inc. | Processor implemented communications interface having external clock actuated disabling control |
US4410962A (en) * | 1981-02-17 | 1983-10-18 | Pitney Bowes Inc. | Mailing system interface interconnecting incompatible communication systems |
US4435763A (en) | 1981-04-13 | 1984-03-06 | Texas Instruments Incorporated | Multiprogrammable input/output circuitry |
US4939643A (en) * | 1981-10-01 | 1990-07-03 | Stratus Computer, Inc. | Fault tolerant digital data processor with improved bus protocol |
US4476527A (en) * | 1981-12-10 | 1984-10-09 | Data General Corporation | Synchronous data bus with automatically variable data rate |
US4493028A (en) * | 1982-02-02 | 1985-01-08 | International Business Machines Corporation | Dual mode I/O |
US4490784A (en) * | 1982-04-21 | 1984-12-25 | Ives David C | High-speed data transfer unit for digital data processing system |
DE3241376A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger |
US4773000A (en) * | 1984-01-23 | 1988-09-20 | Raytheon Company | DMA for digital computer system |
JPS63121610U (de) * | 1987-01-27 | 1988-08-08 | ||
GB8816413D0 (en) * | 1988-07-09 | 1988-08-17 | Int Computers Ltd | Data processing system |
US5081609A (en) * | 1989-01-10 | 1992-01-14 | Bull Hn Information Systems Inc. | Multiprocessor controller having time shared control store |
US5237676A (en) * | 1989-01-13 | 1993-08-17 | International Business Machines Corp. | High speed data transfer system which adjusts data transfer speed in response to indicated transfer speed capability of connected device |
WO1998040810A2 (en) | 1997-03-12 | 1998-09-17 | Storage Technology Corporation | Network attached virtual tape data storage subsystem |
US6658526B2 (en) | 1997-03-12 | 2003-12-02 | Storage Technology Corporation | Network attached virtual data storage subsystem |
US6094605A (en) * | 1998-07-06 | 2000-07-25 | Storage Technology Corporation | Virtual automated cartridge system |
US6330621B1 (en) | 1999-01-15 | 2001-12-11 | Storage Technology Corporation | Intelligent data storage manager |
US6834324B1 (en) | 2000-04-10 | 2004-12-21 | Storage Technology Corporation | System and method for virtual tape volumes |
US6971043B2 (en) * | 2001-04-11 | 2005-11-29 | Stratus Technologies Bermuda Ltd | Apparatus and method for accessing a mass storage device in a fault-tolerant server |
US20030126132A1 (en) * | 2001-12-27 | 2003-07-03 | Kavuri Ravi K. | Virtual volume management system and method |
KR100860985B1 (ko) * | 2003-05-23 | 2008-09-30 | 삼성전자주식회사 | 패딩 정보를 이용한 기록/재생 방법 |
US20090198876A1 (en) * | 2008-01-31 | 2009-08-06 | Jimmy Kwok Lap Lai | Programmable Command Sequencer |
US8302083B2 (en) * | 2009-01-23 | 2012-10-30 | Lsi Corporation | Architecture and implementation method of programmable arithmetic controller for cryptographic applications |
US10141072B2 (en) * | 2015-06-11 | 2018-11-27 | SK Hynix Inc. | Efficient encoder based on modified RU algorithm |
TWI559325B (zh) * | 2015-10-22 | 2016-11-21 | 力成科技股份有限公司 | 高頻記憶體之測試裝置及測試方法 |
US10613128B2 (en) | 2015-10-22 | 2020-04-07 | Powertech Technology Inc. | Testing device and testing method |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573741A (en) * | 1968-07-11 | 1971-04-06 | Ibm | Control unit for input/output devices |
US3559187A (en) * | 1968-11-13 | 1971-01-26 | Gen Electric | Input/output controller with linked data control words |
US3588831A (en) * | 1968-11-13 | 1971-06-28 | Honeywell Inf Systems | Input/output controller for independently supervising a plurality of operations in response to a single command |
US3675209A (en) * | 1970-02-06 | 1972-07-04 | Burroughs Corp | Autonomous multiple-path input/output control system |
US3673575A (en) * | 1970-06-29 | 1972-06-27 | Ibm | Microprogrammed common control unit with double format control words |
US3673576A (en) * | 1970-07-13 | 1972-06-27 | Eg & G Inc | Programmable computer-peripheral interface |
US3654617A (en) * | 1970-10-01 | 1972-04-04 | Ibm | Microprogrammable i/o controller |
US3725864A (en) * | 1971-03-03 | 1973-04-03 | Ibm | Input/output control |
US3713108A (en) * | 1971-03-25 | 1973-01-23 | Ibm | Branch control for a digital machine |
US3716837A (en) * | 1971-04-22 | 1973-02-13 | Ibm | Interrupt handling |
US3740728A (en) * | 1972-01-19 | 1973-06-19 | Hughes Aircraft Co | Input/output controller |
US3753236A (en) * | 1972-03-31 | 1973-08-14 | Honeywell Inf Systems | Microprogrammable peripheral controller |
US3713107A (en) * | 1972-04-03 | 1973-01-23 | Ncr | Firmware sort processor system |
US3742457A (en) * | 1972-05-15 | 1973-06-26 | Honeywell Inf Systems | High speed data transfer for a peripheral controller |
US3766526A (en) * | 1972-10-10 | 1973-10-16 | Atomic Energy Commission | Multi-microprogrammed input-output processor |
-
1973
- 1973-12-18 US US425760A patent/US3909799A/en not_active Expired - Lifetime
-
1974
- 1974-12-09 CA CA215,522A patent/CA1027250A/en not_active Expired
- 1974-12-17 FR FR7441610A patent/FR2254831B1/fr not_active Expired
- 1974-12-17 JP JP49144173A patent/JPS5838809B2/ja not_active Expired
- 1974-12-18 DE DE19742459975 patent/DE2459975A1/de active Granted
- 1974-12-18 GB GB54623/74A patent/GB1496780A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2459975A1 (de) | 1975-06-19 |
JPS5838809B2 (ja) | 1983-08-25 |
US3909799A (en) | 1975-09-30 |
JPS5093551A (de) | 1975-07-25 |
FR2254831A1 (de) | 1975-07-11 |
CA1027250A (en) | 1978-02-28 |
FR2254831B1 (de) | 1978-10-13 |
GB1496780A (en) | 1978-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2459975C2 (de) | ||
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
DE2714805C2 (de) | ||
DE2735814C2 (de) | Nach dem Pipelineprinzip arbeitende Datenverarbeitungseinrichtung | |
DE2459956A1 (de) | Prozessor und diesen verwendendes peripheres verarbeitungssystem | |
CH522921A (de) | Rechneranlage | |
DE69833008T2 (de) | Prozessor mit instruktionskodierung mittels eines schablonenfeldes | |
DE2030812A1 (de) | Modulare Datenrechnersysteme | |
DE1928202C3 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2750299A1 (de) | Ein/ausgabe-system | |
DE2755952C2 (de) | ||
DE2500006A1 (de) | Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen | |
DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
DE2855106A1 (de) | Einrichtung zur durchfuehrung von instruktionsverzweigungen | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE3741850A1 (de) | Ausfuehrungseinheit fuer einen i/o-prozessor | |
DE1285220B (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE1549474C3 (de) | Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE2540823C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
DE2401364A1 (de) | Datenverarbeitungssystem | |
US3213427A (en) | Tracing mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |