DE2459956A1 - Prozessor und diesen verwendendes peripheres verarbeitungssystem - Google Patents

Prozessor und diesen verwendendes peripheres verarbeitungssystem

Info

Publication number
DE2459956A1
DE2459956A1 DE19742459956 DE2459956A DE2459956A1 DE 2459956 A1 DE2459956 A1 DE 2459956A1 DE 19742459956 DE19742459956 DE 19742459956 DE 2459956 A DE2459956 A DE 2459956A DE 2459956 A1 DE2459956 A1 DE 2459956A1
Authority
DE
Germany
Prior art keywords
routine
processor
branch
microinstruction
control
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.)
Ceased
Application number
DE19742459956
Other languages
English (en)
Inventor
Edwin J Pinheiro
John A Recks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2459956A1 publication Critical patent/DE2459956A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Description

Patentanwalt
3 MOnchsn 22, Herrnstr. 15, Tel. 292555
Postanschrift München 26, Postfach 4 München, den 1 8, Dez, 197fr
Mein Zeichen: P 2068
Anmelder: Honeywell Information Systems Inc. 200 Smith Street
Waltham, Mass., V. St. A.
Prozessor und diesen verwendendes peripheres Verarbeitungssystem
Die Erfindung bezieht sich auf Datenverarbeitungssysteme und insbesondere auf mikroprogrammierte Prozessoren für die Ausführung von Befehlen, um ein peripheres System zu betreiben.
Y/ie an sich bekannt, sind periphere Untersysteme von Datenverarbeitungssystemen in zunehmendem Maße bedeutsam geworden. Außerdem hat ihre Kompliziertheit zugenommen im Hinblick darauf, viele Funktionen ausführen zu können, die bisher durch Eingabe/Ausgabe-Verarbeitungseinheiten oder -Steuereinrichtungen ausgeführt wurden. Darüber hinaus sind periphere Untersysteme erforderlich, um eine Vielzahl von Einrichtungen, die jeweils unterschiedliche Eigenschaften besitzen, zu bedienen.
Auf Grund der steigenden Anforderungen an die peripheren Untersysteme sind die Steuerspeicher von mikroprogrammierbaren
509825/0978
ORIGINAL
peripheren Prozessoren ständig in der Größe und Breite gewachsen. Darüber hinaus hat die derartigen Steuerspeichern zugehörige Verzweigungsanordnung an Kompliziertheit in starkem Maße zugenommen. Ein Grund liegt darin, daß der Prozessor Folgen von Mehrverzweigungsoperationen auszuführen hat, um den Befehlscode unter einem gegebenen Satz von Bedingungen zu überprüfen. Dies dient dazu, auf die in Frage kommende Routine während der Verarbeitung des jeweiligen Befehlstyps überzugehen. Die bisher bekannten mikroprogrammierbaren peripheren Prozessoren haben sich als teuer erwiesen, und zwar auf Grund der gestiegenen Speicheranforderungen und Ablauffolge-Hardware. Wenn derartige Prozessoren darüber hinaus zusätzliche Einrichtungen zu bedienen haben, die Eigenschaften aufweisen, welche unterschiedlich sind zu den Eigenschaften, der zuvor bedienten Einrichtungen, müssen die betreffenden Prozessoren darüber hinaus einem vollständigen Neuaufbau unterzogen werden.
Der Erfindung liegt demgemäß die Aufgabe zu Grunde, ein verbessertes Verfahren und eine verbesserte Anordnung für einen mikroprogrammierbaren peripheren Prozessor zu schaffen. Darüber hinaus soll ein verbesserter mikroprobrammierbarer peripherer Prozessor für die Verarbeitung von Befehlen geschaffen werden, in die die Operation einer Vielzahl von Einrichtungen einbezogen ist, welche unterschiedliche Betriebseigenschaften haben. Schließlich sollen ein verbessertes Verfahren und eine verbesserte Anordnung für periphere Untersysteme geschaffen werden, die eine erhöhte Flexibilität und eine Kostenherabsetzuhg für das periphere Untersystem mit sich bringen.
Gelöst wird die vorstehend aufgezeigte Aufgabe bei einer bevorzugten Ausführungsform der vorliegenden Erfindung dadurch,
50 9 8 25/0978
" 3" 2459as6
daß ein mikroprogrammierbarer peripherer Prozessor vorgesehen ist, der einen Mehrzweckregisterspeicher und einen Festwert-Steuerspeicher für die Speicherung von Mikroprogrammen zumindest zweier genereller Klassen oder Typen von Mikroprogrammen enthält. Die erste Klasse umfaßt Steuer-Mikroprogrammroutinen, die die Funktionen angeben, welche unterschiedliche Befehle auszuführen haben. Die zweite Klasse umfaßt die Ausführungs-Routinen, die die verschiedenen Bereiche des Prozessors für die Ausführung des Befehls einstellen. Der Prozessor ruft diese Routinen durch die Benutzung einer zumindest ein Rückführregister enthaltenden Verzweigungs-Anordnung und über die Verzweigung auf Bedingungs-Mikrobefehle hin an. Die Befehle sind so codiert, daß bestimmte Leitungs- oder Direktor-Bytes abgeholt werden, die in dem Allzweckregisterspeicher gespeichert sind. Danach erfolgt durch die unterschiedlichen Ausführungs-Mikroprogramm-Routinen eine Bezugnahme auf diese Informations-Bytes, um nämlich zu bestimmen, welche Operationen auszuführen sind.
Die obige Anordnung ermöglicht, die Leitungs-Routinen zu spezialisieren, um verschiedene Ereignisse, die sich auf die Ausführung eines bestimmten Befehls beziehen, zu verarbeiten. Dies ermöglicht seinerseits den Ausführungs-Routinen, effektiv zu arbeiten, indem ein Minimum an Mikrobefehlen benutzt wird. Die Ausführungs-Routinen haben dabei insbesondere nicht kontinuierlich Test-Befehle auszuführen, um den Typ des Befehls zu bestimmen, der ausgeführt wird, da nämlich die Leitungs-Routinen zuvor die Bedingungen für die Ausführung des Befehls festgelegt haben.
Darüber hinaus gestattet die vorliegende Erfindung, daß Einrichtungen mit unterschiedlichen Eigenschaften dieselben Leitungs-Routinen verwenden und eine Verzweigung zu der in Frage kommenden Ausführungs-Routine als Funktion der Einrichtungs-
50982570978
Eigenschaften ausführen. Demgemäß kann das System der vorliegenden Erfindung ohne weiteres angepaßt werden an Änderungen in den Einrichtungstypen, welche Änderungen aus unterschiedlichen Verbraucheranforderungen oder auf Grund der Tatsache entstehen könnten, daß Forderungen dahingehend bestehen, unterschiedliche Systeme emulieren zu können.
Die vorliegende Erfindung erleichtert außerdem die Hinzufügung neuer Befehle zu einem System. Wenn der periphere Prozessor benötigt wird, um neue Befehle auszuführen, erfordert dies insbesondere lediglich eine Hinzufügung neuer Leitungs-Mikroprogramm-Routinen zu dem Steuerspeicher, ohne daß Änderungen bezüglich der normalerweise zeitlich festgelegten Ausführungs-Routinen vorgenommen werden müssen.
An Hand von Zeichnungen wird die Erfindung nachstehend hinsichtlich ihrer Organisation und ihres Betriebsverfahrens näher erläutert.
Fig. 1 zeigt schematisch ein die Prinzipien der vorliegenden Erfindung verkörperndes Datenverarbeitungssystem. Fig. 2 zeigt in Einzelheiten einen peripheren Prozessor 300 gemäß Fig. 1. ·
Fig. 3a zeigt im einzelnen einen Steuerbereich einer peripheren Untersystem-Schnittstelle des Prozessors gemäß Fig. 2. Fig. 3b zeigt im einzelnen Datenpufferregister und einen Steuerbereich 302-50 gemäß Fig. 2.
Fig. 3c zeigt im einzelnen einen Steuerablaufspeicher eines Speicherbereichs 308 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 zeigt im einzelnen unterschiedliche Verzweigungsschaltungen gemäß Fig. 3e.
Fig. 3g zeigt im einzelnen verschiedene Teile des Lese/Schreib-Pufferspeicherbereichs 306 gemäß Fig. 2.
S09825/0978
Fig. 3h zeigt im einzelnen Steuerverknüpfungsschaltungen 306-70 sowie Kippschaltungs-I-Schrittschaltungen 306-100 des Bereichs 306 gemäß Fig. 3g.
Fig. 3i zeigt im einzelnen einen Rechen- und Verknüpfungsbereich 316 gemäß Fig. 2. .
Fig. 3d zeigt im einzelnen einen Daten- und Zählerbereich 318 gemäß Fig. 2.
Fig. 3k zeigt im einzelnen einen Adapter- und Einrichtungsleitungssteuerbereich 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 der Massenspeichereinrichtung gespeicherten Aufzeichnungen.
Fig. 6a und 6b zeigen in Flußdiagrammen Initialisierungs-Mikroprogrammroutinen, die von der Anordnung gemäß der Erfindung benutzt werden.
Fig. 7 zeigt die Codierung verschiedener Steuerbytes gemäß der vorliegenden Erfindung.
Fig. 8 zeigt die Codierung von Befehlscodes gemäß der vorliegenden Erfindung.
-Fjrg·. 9a bis 9c zeigen in Flußdiagrammen eine Lese-Leitungs-Routine, die im Zusammenhang mit der Beschreibung des Betriebs der vorliegenden Erfindung benutzt wird.
Fig. 10 zeigt in einem Flußdiagramm eine weitere Leitungs-Rbutine. Fig. 11a bis 11e zeigen Flußdiagramme eines ersten Typs einer Ausführungs-Routine.
Fig. 12a und 12b zeigen Flußdiagramme eines zweiten Typs der Ausführungs-Routine.
Allgemeine Beschreibung des Gesamtsystems gemäß Fig. 1
Die vorliegende Erfindung findet hauptsächlich in einem Dätenverarbeitungssystem Anwendung, welches ein Eingabe/Ausgabe-Unter system, enthält, in welchem ein peripherer Prozessor die
50 9 8 25/0978
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
509825/0978
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 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 Bedienungscode-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 D0-D07. Die Schnittstellenleitungen werden im nachfolgenden Abschnitt noch im einzelnen erläutert werden.
50982570978
Periphere Untersystem-Schnlttstellenleitun^en
Bezeichnung Beschreibung
•DO-7» DP Die Datenweg-Leitungen sind ein 1 Byte
breiter bidirektionaler Weg (8 Bits + "Parität), der zwischen MSP und der Eingabe/Ausgabe-Steuereinrichtung verläuft. Die Eigenschaft der Information auf den Datenleitungen (d.h. Daten, Be-" dienungscode, etc.) wird durch den Dialog festgelegt.
SCI " Die Bedienungscode-Eingangsleitung ver
läuft vom Massenspeicher-Peripherieprozessor (MSP) zur Eingabe/Ausgabe-Steuereinrichtung. Wenn sie gesetzt ist, zeigt SCI an, daß MSP eine Bedienungscodefolge an die Eingabe/Ausgabe-Steuereinrichtung auszusenden hat. Diese Leitung ist vollständig mit einer Bedienungsfreigabe-Ausgangsleitung verbunden. Durch MSP wird lediglich die Bedienungscodefolge übertragen,'wenn die SEO-Leitung einen hohen Signalwert führt. Die SCI-Leitung führt lediglich dann einen hohen Signalwert, wenn die SEO-Leitung einen niedrigen Signalwert führt.
SEO Die Bedienungsfreigabe-Ausgangsleitung
verläuft von der Eingabe/Ausgabe-Steuereinrichtung zu MSP; sie liefert eine Anzeige, wenn die Eingabe/Ausgabe-Steuereinrichtung bereit ist, eine Bedienungscodefolge aufzunehmen. Die Leitung ist vollständig mit der SCI-Leitung verbunden.
OPI Die Operations-Eingangsleitung verläuft von
MSP zur Eingabe/Ausgabe-Steuereinrichtung. Diese Leitung zeigt den Operationszustand von MSP der Eingabe/Ausgabe-Steuereinrichtung an. Bei der Aktivierung zeigt die OPI-Leitung an, daß MSP in Betrieb ist und eine Nachrichtenverbindung mit der Eingabe/Ausgabe-Steuereinrichtung herzustellen erlaubt. Eine Unwirksamschaltung bedeutet, daß MSP von der
509825/0978
Bezeichnung Beschreibung
Stromversorgung abgeschaltet wird oder sich in einem Zustand befindet, der MSP außerstande setzt, auf Signale auf der PSI-Leitung anzusprechen.
OPO 'Die Operations-Ausgangsleitung verläuft
von der Eingabe/Ausgabe-Steuereinrichtung zu MSP. Diese Leitung zeigt den Zustand der Eingabe/Ausgabe-Steuereinrichtung an. Ist sie aktiviert, so zeigt dies an, daß die Eingabe/Ausgabe-Steuereinrichtung in Betrieb ist und eine Nachrichtenverbindung mit MSP herzustellen imstande ist. Ist sie nicht aktiviert, so signalisiert dies, daß die Eingabe/Ausgabe-Steuereinrichtung von der Stromversorgung abgeschaltet ist oder sich in einem Zustand befindet, der sie außerstande setzt, auf Signale anzusprechen, die auf der PSI-Leitung auftreten.
STI Die Takt-Eingangsleitung verläuft von
MSP zur Eingabe/Ausgabe-Steuereinrichtung. Diese Leitung steuert in Verbindung mit einer Takt-Ausgangsleitung Datenübertragungen in der Schnittstelle. Für eine Leseoperation (d.h. für Daten aus MSP) kann die STI-Leitung lediglich gesetzt werden, wenn STO/TMO zurückgesetzt ist. Die STI-Leitung zeigt der Eingabe/Ausgabe-Steuereinrichtung an, daß Daten auf den Daten-Leitungen vorhanden sind. Um Daten zu erhalten, spricht die Eingabe/Ausgabe-Steuereinrichtung an, indem entweder die STO-Leitung oder die TMO-Leitung gesetzt wird, die die STI-Leitung zurücksetzt. Wenn die Eingabe/Ausgabe-Steuereinrichtung die RrtaldaLabsenkung der STI-Leitung feststellt, nimmt sie die Daten von den Leitungen her auf.
Bei einer Schreiboperation sind die Rollen der Leitungen STO und STI vertauscht. Die Eingabe/Ausgabe-Steuereinrichtung bewirkt eine Erregung der STO- Leitung, wenn sie Daten an die Datenleitungen abgibt. Wenn MSP die Erregung
509825/0978
Bezeichnung Beschreibung
bzw. den Signalanstieg der Leitung STO ermittelt und bereit ist, Daten aufzunehmen, wird dadurch das Potential ent-.weder auf der Leitung STI oder auf der Leitung TMI angehoben. Wenn MSP eine Potentialabsenkung auf der Leitung STO feststellt, werden Daten von den Datenleitungen her aufgenommen.
STO Die Takt-Ausgangsleitung bzw. Abtast-
Ausgangsleitung, die von der Eingabe/Ausgabe-Steuereinrichtung zu MSP hin läuft. Diese Leitung wird von der Eingabe/Ausgabe-Steuereinrichtung dazu benutzt, ihre Teilnahme an dem Dialog in der Schnittstelle anzuzeigen.
Für eine Leseoperation wird das Potential der STO-Leitung durch die Eingabe/Ausgabe-Steuereinrichtung angehoben, wenn diese den Anstieg des Potentials der STI-Leitung (oder der TMI-Leitung) feststellt und bereit ist, die Daten aufzunehmen. Bei einer Leseoperation kann das Potential auf der STO-Leitung nicht angehoben werden, wenn STI und TMI beide verknüpfungsmäßig den Wert Null führen. Wenn MSP den Potentialanstieg auf der STO-Leitung feststellt, erfolgt eine Potentialabsenkung auf STI (oder TMI). Auf die Feststellung der Potentialabsenkung auf STI (oder TMI) nimmt die Eingabe/Ausgabe-Steuereinrichtung Daten von den Datenleitungen her auf. Sofern erforderlich, kann die Eingabe/Ausgabe-Steuereinrichtung den Dialog an dieser Stelle aufrechterhalten, und zwar durch Verzögerung der Potentialabsenkung von STO. Wenn die betreffende Einrichtung bereit ist, weiterzuarbeiten, senkt sie das Potential auf der STO-Leitung, wodurch MSP angezeigt wird, daß die Daten aufgenommen worden sind und daß die Datenleitungen nunmehr gewechselt werden können. Wenn die Eingabe/Ausgabe-Steuereinrichtung den laufenden Dialog beendet, bewirkt sie dies durch Anheben des
509825/0978
Bezeichnung Beschreibung
Potentials der TMO-Leitung anstatt der STO-Leitung, und zwar für das letzte zu übertragende Byte.
Für eine Schreiboperation zeigt die STO-Leitung für MSP -an, daß die Eingabe/ Ausgabe-Steuereinrichtung Daten enthält, die für MSP bereitstehen. Die Eingabe/ Ausgabe-Steuereinrichtung gibt die Daten ' an die Datenleitungen ab und erhöht das Potential der STO-Leitung. Die STO-Leitung kann für eine Schreiboperation solange nicht aktiviert werden, bis die Leitungen STI und TMI zurückgestellt sind. Die STO-Leitung muß zurückgestellt werden, wenn STI (oder TMI) aktiviert wird. Wenn MSP die Potentialabsenkung der STO-Leitung feststellt, kann durch MSP die Datenaufnahme erfolgen. Sofern erforderlich, kann MSP den Dialog an dieser Stelle aufrecht erhalten, und zwar durch Verzögern der Absenkung des Potentials auf der STI-Leitung (oder auf der TMI-Leitung). Wenn eine Bereitschaft vorliegt, senkt MSP das Potential der Leitung STI (oder TMI), wodurch der Eingabe/Ausgabe-Steuereinrichtung angezeigt wird, daß die Datenleitungen nunmehr gewechselt werden können.
TMO Die Beendigungs-Ausgangsleitung verläuft
von dar Eingabe/Ausgabe-Steuereinrichtung zu MSP. Diese Leitung wird von der Ein-
. . gabe/Ausgabe-Steuereinrichtung dazu be
nutzt, den laufenden Dialog zu beenden.
Für eine Schreiboperation kann TMO eine der folgenden Bedingungen anzeigen: 1) Für eine Datenübertragung schließt TMO ein, daß ein übertragenes Byte das letzte Byte eines Feldes ist und daß die Datenzählung gewissermaßen erschöpft ist. Da die Datenkette für MSP transparent ist, steigt das Potential auf TMO lediglich dann, . wenn die Zählerstellung der letzten Datenkette CCE in dem Datenkettenfeld erschöpft ist.
509825/0978
Bezeichnung Beschreibung
2) Für einen Befehl oder eine Eingabe/ Ausgabe-Steuereinrichtungs-Befehlsübertragung zeigt TMO an, daß die Übertragung vollständig ist, und zwar mit Hilfe eines Bytes, das auf die laufende Übertragung hin ausgesendet wird. Ferner zeigt die betreffende Leitung an, daß keine weiteren Bytes mehr zur Verfügung stehen.
Während einer Schreiboperation kann das Potential TMO lediglich dann ansteigen, wenn die Potentiale auf STI und TMI niedrig sind; das betreffende Potential sinkt, wenn die Eingabe/Ausgabe-Steuereinrichtung den Potentialanstieg auf STI (oder
. TMI) feststellt.
Für eine Leseoperation wird TMO in einer Weise von folgenden Weisen benutzt:
1) Bei einer Datenübertragung zeigt TMO an, daß ein übertragenes Byte die Daten-Zählung aufbraucht. Da die Datenkette für MSP transparent ist, wird das Potential auf TMO lediglich dann ansteigen, wenn die der letzten Datenkette CCE des Datenkettenfeldes zugeordnete Zählerstellung ausgenutzt ist.
2) Bei einer Betriebscode-Ablauffolge wird TMO in einer Weise der folgenden Weisen benutzt:
1. Die Eingabe/Ausgabe-Steuereinrichtung kann das Potential auf.TMO anheben, um die Übertragung der Ablauffolge unmittelbar anzuhalten (z.B. nach Ermittelung eines Fehlers);
2. Die Eingabe/Ausgabe-Steuereinrichtung hat die maximale Anzahl von Zustands-Bytes erhalten, die sie verarbeiten kann, und MSP hält Jede weitere Übertragung von Zustandsbytes in dieser Bedienungscodefolge an.
9 8 25/0978
Bezeichnung Beschreibung
Bei einer Leseoperation wird TMO in einer der oben angegebenen Weisen benutzt, und zwar beim Einsetzen anstelle von STO. Während einer Leseoperation kann TMO lediglich eine Potentialanhebung bewirken, wenn STI (oder TMO) ein hohes Potential führt. TMO wird eine Potentialabsenkung erfahren, wenn das Potential auf STI (oder TMI) abfällt. Diese Leitung muß, wenn sie nicht in Benutzung ist, in einen Verknüpfungszustand Null zurückgestellt werden.
TMI ' Die Beendigungs-Eingangsleitung verläuft
von MSP zur Eingabe/Ausgabe-Steuereinrichtung. Diese Leitung wird von MSP dazu herangezogen, den laufenden Dialog zu beenden.
Für eine Schreiboperation wird TMI bereitgestellt anstelle von STI; sie kann eine der folgenden Bedingungen anzeigen:
1. Für eine Datenübertragung zeigt TMI an, daß ein aufgenommenes Byte das letzte Byte ist, welches MSP für diese Ubertragungsfolge aufnimmt (z.B. wenn das Medium aufgebraucht ist); eine andere Anzeige betrifft den Fall, daß MSP kurzzeitig die Datenübertragungsfolge unterbricht.
2. Für eine Befehlsübertragung zeigt TMI an, daß ein empfangenes Byte das letzte Byte ist, das von MSP benötigt wird.
Für eine Leseoperation wird TMI-ausgesendet anstatt STI; es zeigt eine der folgenden Bedingungen an:
1. Für eine Datenübertragung zeigt TMI an, daß ein übertragenes Byte das letzte Byte ist, das von dem Aufzeichnungsträger für diese Datenübertragungsfolge verfügbar ist, oder daß MSP kurzzeitig die. Datenübertragungsfolge unterbricht. Die unter-
509825/0978
Bezeichnung Beschreibung
brochene Ablauffolge kann wieder aufgenommen werden, indem der Bedienungscode "Datenübertragungsauslösung-Wieder auf nähme " benutzt wird. Es ist jedoch wichtig darauf hinzuweisen, daß ein Bedienungscode, der eine Befehlszeigerbewegung (für diesen gleichen Verknüpfungskanal) hervorruft, die Beendigung der Datenübertragung (die nicht wieder aufgenommen werden kann) anzeigen wird, da nämlich der Zeigerbewegungs-Betriebscode umfaßt, daß die Ausführung von CCE abgeschlossen ist. Wenn somit MSP beabsichtigt, eine ,Datenübertragung wieder aufzunehmen, die sie unterbricht, so sollten keine weiteren Zeigerbewegungs-Bedienungscodes für den Verknüpfungskanal ausgesendet werden, bis die übertragung wieder aufgenommen wird;.
2. Für eine Bedienungscodefolge zeigt TMI an, daß das Byte bzw. die Bytes, das bzw. die übertragen worden ist/ sind das letzte Byte in der Bedienungscodefolge ist/sind.
TMI muß auf den Verknüpfungswert Null gesetzt werden, wenn es nicht benutzt wird.
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 einerAnzahl peripherer Prozessoren 300 bis 300-n verbinden. Jeder periphere Prozessor nimmt einen Informationstausch mit jeder seiner zugehörigen peripheren Einrichtungen über eine Einrichtungs-Ebenen-Schnittstelle (DLI) vor, und zwar in Übereinstimmung mit bestimmten Dialog-Folgen. Die verschiedenen Leitungen, die die Einrichtungs-Ebene-Schnittstelle darstellen, und Erläuterungen sind in der nachstehenden Tabelle angegeben.
509825/0978
Einrichtungs-Ebenen-Schnittstellenleitungen
Bezeichnung Beschreibung
DCP, DC0-DC5 Die Befehlscodeleitungen führen codierte
Befehle von dem Massenspeicher-Prozessor (MSP) zu der Massenspeichereinrichtung (msd) für eine Decodierung und Ausführung hin.
DIP, D1O-D17 . Die neun bidirektionalen Leitungen werden
benutzt für die Übertragung von Daten, Adressen, einer Steuerungs- und Zustandsinformation zwischen dem Massenspeicher-Prozessor und der Massenspeicher-Ein- . richtung.
DCS Eine Einrichtungs-Befehlsabtastleitung,
die bei Vorliegen eines Verknüpfungswertes' 1 signalisiert, wenn die Signale auf den Befehlscodeleitungen für die Abtastung gültig sind.
OPI Eine Operations-Eingangsleitung, die
signalisiert, daß MSD vorhanden ist, und die gespeist wird und eine Nachrichtenverbindung mit MSP herzustellen imstande ist.
IDX Eine Index-Markierungsleitung, die bei
Vorliegen eines Verknüpfungszustands 1 während zwei Mikrosekunden anzeigt, daß eine Verknüpfungsspur beginnt.
OPO . Eine Operations-Ausgangsleitung, die
signalisiert, daß MSP existiert und die gespeist wird und eine Nachrichtenverbindung mit MSD herzustellen imstande ist.
DIN Eine Einrichtungs-Auslöseleitung, die
bewirkt, daß eine Massenspeicher-Einrichtung ihre sämtlichen Speicherelemente in einen Auslösezustand bringt.
825/097 8
Bezeichnung Beschreibung
SRI Eine Serien-Einleseleitung, die während
einer Schreiboperation dem Massenspeicher-Prozessor signalisiert, daß die Massenspeicher-Einrichtung einen ,Schreibbefehl ausführt. Die Massen-'speicher-Einrichtung aktiviert diese Leitung auf die Aufnahme eines Schreibbefehls hin; sie bewirkt solange keine Rückstellung, bis die Rückflanke von DCS auftritt. Während einer Leseoperation enthält diese Leitung die von dem Aufzeichnungsträger gelesene Information. Das Lesesignal wird durch die Köpfe erzeugt, verstärkt und in digitale Form umgesetzt, bevor es an die SRI-Leitung abgegeben wird. Es enthält einen Impuls für jeden auf dem Aufzeichnungsträger aufgezeichneten Übergang. Diese Leitung wird ferner als Abtastleitung für einen Steuerungs-Schnittstellendialog benutzt, wenn eine Information über die bidirektionalen Datenleitungen übertragen wird.
SWO Die Serienschreib-Ausgabeleitung über
trägt die zu schreibende Information. Sie weist einen einzigen Impuls mit dem Verknüpfungswert 1 für jeden auf dem Aufzeichnungsträger aufzuzeichnenden übergang auf. Diese Leitung wird außerdem als Abtastleitung für den Steuerungs-Schnittstellendialog verwendet, wenn eine Information über die bidirektionalen Datenleitungen übertragen wird.
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 Massen- speichereinrichtung 500 mit dem peripheren Massenspeicher-
509825/0978
Prozessor 300, wie dies in Fig. 1 gezeigt ist. Wie die Eingabe/ Ausgabe-Steuereinrichtung 106 Daten und Steuerungsinforraation zwischen einer Vielzahl von peripheren Prozessoren auszutauschen imstande ist, kann jeder periphere Prozessor Daten und Steuerungs-Information 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 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-Untersystern 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-
509 8 2 5/0978
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 Zustande 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.
509825/0978
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.
Allgemeine Beschreibung des Massenspeicher-Prozessors 300
In Fig. 2 ist ein detaillierteres, 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
5098 25/0 97 8
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 Ubertragungsleiterwege 303-1 bis 303-5 angeschlossen. Der Bereich 302 ist in zwei Bereiche
in
unterteilt:/ einen PSI-Steuerbereich bzw. peripheren Untersystem-Schnittstellenbereich 302-1 sowie in ein Pufferregister und in einen Steuerbereich 302-50. Diese Bereiche 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-Jlechen- 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-Blt-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-Ubertragungs-, 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
50 9 8 25/097 8
betrieben werden. Die beiden Rechen- und VerknUpfungseinheiten arbeiten auf dieselben Operanden hin gleichzeitig, und die Fehlerprüfschaltungen vergleichen die Ergebnisse der beiden Rechen- und Verknüpfungaeinheiten. 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 MuItiplexer-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 Pufferspei ehe rbe reich 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.),
509825/097 8
Jeder der beiden Zähler enthält, wielhier 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-Chipsaufgebaut, 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 FehlerprUfschaltungen 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-Slgnale von einer Taktschaltung 308-2 her verringert.(Dies bedeutet, dass die Zählerstellung des Zählers alle 600 NanoSekunden um 1 vermindert wird). Die FehlerprUfschaltungen prüfen die Zähler hinsichtlich einer richtigen Operation, und zwar injierselben Weise wie die Operation des Daten-Zählere geprüft wird.
Der Festwertspeicher-Steuerbereich 304 bewirkt die Speicherung für vorhandene Steuerungs- und Fehlerdiagnose-Mikroprogramme (das heisst 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 Emulation von Fremdsystemen benutzt. Bei der bevorzugten AusfUhrungsform ist der Steuerspeicher unveränderlich; er ist aus herkömmlich aufgebauten programmierbaren Festwertspeicher-Chips (PROM) aufgebaut. Es dürfte einzusehen sein, dass der Steuerspeicher
509825/0978
auch aus herkömmlich aufgebauten Speicher-Chips mit wahlfreiem Zugriff (RAM) gebildet bzw. aufgebaut werden kann. Demgemäss 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 Berebh 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 Schnitstelle mit Plattenspeichereinrichtungen des Systems erforderlich sind, und zwar für die Steuerung von Einrichtungsoper at jenen und für die Erzeugung von erforderlichen Dialog-Ablauffolgen über die Sammelleitung 400. Dies bedeutet, dass 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üpf ungsschaltungen dar.
5098 25/097 8
Detaillierte Beschreibung der Massenspeicher-Prozeasorbereiche
Nunmehr werden die oben beschriebenen Bereiche unter Bezugnahme auf die Pig. 3a bis 3k näher erläutert.
Peripherer Untersystem-Scnnlttatellensteuerbereicb. 502-50 und Pufferbereich 302
Der Periphere Untersystem-Schnittstellen-Steuerbereich bzw. PSI-Steuerbereich 302 und der Pufferregister- und Steuerbereich 302-50 sind in Fig. 3a bzw. 3b im einzelnen dargestellt.
Aus Pig. 3a geht dabei hervor, dass dieser Bereich eine Vielzahl von Empfänger/Steuerlogikschaltungen 302-3 enthält, die derart betrieben sind, dass 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; sie umfassen zwei Differenzverstärkerschaltungen. Ausserdem können diese Schaltungen die Porm der Treiber/Empfangsschaltung haben, wie sie an anderer Stelle beschrieben wird (US-Patentanmeldung, Ser.No. 863 087).
Wie aus Pig. 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-
eine
Puffer des Bereichs 302-50 über/Bus-Leitung 302-16 in den Lese-Puffer 302-14 geladen, wenn ein Steuersignal RATPI0 in ein Binärsignal 1 umgeschaltet wird. Wie erläutert wird, wird dieses Signal durch in diesem Block 302-4 enthaltene asynchrone Schaltungen erzeugt· Dieser Block enthält, kurz
509825/0978
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 Vorhanden· sein von Daten, die in dem Lese-Puffer gespeichert sind, und zwar durch Einstellen bzw. Setzen der Leitungen SXI öder !EMI. Der Lese-Puffer 302-14 speichert solange 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 Auagabe-Datengültigkeits-Signal PADV10 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 P1ST010 vom Binärzustand?in den Binärzustand Null umschaltet. Die Inhalte des Schreib-Puffers werden selektiv in die Puffer A, E oder P 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 PAPRP10 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 Plipflops, die durch Mikoroperations-Signale von dem Festwertspeicher-Steuerbereich 304 her setzbar sein können. Diese Signale werden über eine Eingangs-Busleitung abgegeben, die in Flg. 3a mit 302-14 bezeichnet ist. Ausserdem können die betreffenden Schaltungen durch Signale gesetzt werden, die über die Schnittstelle 200 zugeführt werden. Die Mikro-
5 0 9 8 2 5/0978
Operationssignale können zum Beispiel die Aktivität in der perlpheren Untersystem-Schnittstelle 200 auslösen, und zwar durch Setzen eines der drei Folgesteuerungs-Flipflops, die in diesem Bereich enthalten sind. Dies bedeutet, dass 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 Mikrooperations-Signale 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 Taktoder 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 3 725 871 angegeben sind.
509825/0978
Es dürfte ferner ersichtlich sein, dass 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 Blockes 302-4 dazu benutzt zu bestimmen, wenn ein Beendigungs-Eintritts-Flipflop TMI zu setzen ist. Ein Hilfszähler 302-10 ist ebenfalls enthalten, um die Vergleicherschaltungen des Blockes 302-8 freizugeben für die Peststellung des Auftretens eines Zählerausfalls. Dies bedeutet, dass 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 AIU-Basich 318 von dem Steuerspeicher des Bereiches 304 oder von dem Pufferspeicher des Bereiches 306.) Ausserdem werden die Zählastellungen beider Zähler durch ein Taktsignal PCCLK10 von den Steuerschaltungen 302-4 her verringert. Die Vergleicherschaltungen des Blockes 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, dass die betreffenden Zähler nichtJLm 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 Blockes 302-8 ein Zähler-Gleichheits-Null-Signal PCCE020 in den Binärzustand Null um. Dieses Signal zeigt an, dass die erforderliche Anzahl von Bytes übertragen worden ist (das heisst, dass 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 Engineers11 der Firma Texas Instruments Inc., 1972, hingewiesen.
509825/0978
Aus Pig. 3b geht hervor, dass jeder Bereich 302-50 sechs Register 302-52 bis 302-57, die hier als Register A bis P 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 Markierungsoder 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 Sehreib-Multiplexerschaltung und einem lesepuffer bitparallel oder, byte-seriell übertragen. Die Übertragungsrichtung und der übertragungsweg werden durch die Zustände von Plipflops bestimmt, die in dem Hochgeschwindigkeits-Ablaufsteuerbereich 308 enthalten sind. Wie erläutert wird, werden diese Plipflops in bestimmte Zustände voreingestellt, und zwar durch Mikrobefehle, und die von den Plipflops 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 EinAusgabe- _ gabe/Steuereinrichtung stattfinden. Die Schaltungen des Blockes 302-70 und 302-72 werden derart konditioniert, dass die Register 302-52, 302-53 und 302-54 arbeitsmässig mit der peripheren Untersystem-Schnittstelle verbunden sind, und die Register D, E und P sind arbeitsmässig mit dem Efinrichtungsadapter 310-2 verbunden. Die Zustände zweier Signale CQTXI10 und CQTX010, die durch in den Ablaufsteuerschaltungen enthaltene Übertragungs-Eintritts- und
509825/0978
Übertragungs-Austritts-Flipflops erzeugt werden, bestimmen die Richtung von Byte-Übertragungen für die Gruppen der Register A bis 0 und D bis P. Die Richtungen der Übertragung für die Zustände dieser Signale sind beispielsweise folgende:
1) CQTXIOCr 1' β PSI > REG · A —> reg · —* reg «C
Warten aifPr ο ze ss or {-Pirmen ware)-Maßnahme;
2) CQTXHo"' = reg . C-—> reg · B —> reg * A ·—^ Warten auf PSI-Maßnahme;
3) CQTXOOO'' β Einrichtungsadapter —> reg · P —^ reg E -—^ reg · D
Warten auf Prozessor (Finnenware) -Maßnahme; und
4) CQTXOIO^ 1^ a reg · D —^ reg " E -^> reg · P—>
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.. CQTXIOO & CQTXOOO - Normalzustand des Prozessors.
Bei dieser Betriebsart werden Bytes von PSI und/oder dem Einrichtungsdapter in den Prozessor übertragen.
2. CQTXIOO & CQTX010 - Bei dieser Betriebsart werden Steuerinformationsbytes zu dem Einrichtungsadapter und /oder der Einrichtung übertragen.
3. CQTXI10 & CQTXOOO - Bei dieser Betriebsart werden Informationen, wie Bedienungscodebytes, Zustandsbytes, zur Eingabe/Ausgabe-Steuereinrichtmg übertragen.
5098 25 /0978
4. CQTXI10 4 CQTX010 - 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 CQWT010 festgelegt wird, das durch ein in den Folgesteuerungsschaltungen enthaltenes Schreiboperations-Ablaufsteuerungs-Plipflop erzeugt wird. Wenn das Signal CQWT010 als Binäraignal 1 auftritt bzw. in diesen Zustand umgeschaltet wird, führt es das Signal CQIXOIO und das Signal CQTXIOO in den Binärzustand 1 bzw. Null· Diese Signale veranlassen die Register, Bytes von FSI 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 CQRDO10 festgelegt wird, das durch ein in den AblaufSteuerschaltungen bzw. Folgesteuerschaltungen enthaltenes Leseoperations-Ablaufsteuerungs-Flipflop erzeugt wird. Das Signal CQRDO10 bewirkt zusammen mit dem Signal PADDT10 von dem PSI-Steuerbereich 302-1, dass die Signale CQTXI10 und CQTXOOO 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 CQSHO10 festgelegt wird, welches durch ein in den Ablaufsteuerschaltungen enthaltenes Suchoperations-Ablaufsteuerungs-Plipfiop erzeugt wird. Das Signal CQSH010 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 hia ermöglicht ist, um in den lese/Schreib-Speicherbereich 306 eingeschrieben zu werden.
509825/0978
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 heisst dann, wenn die Register leer sind). Die dargestellten Signale werden entsprechend folgenden booleschen Ausdrücken erzeugt. Die Zeichen "+" und Μ·η geben "ODER11- bzw. "UND"-Operationen an.
1.CDPTA10 = CQTXIOO · CDPTEOO · CDPTFOO · EAPRF30 · CDARFOO.
Dies ist ein Übertragungssignal von der peripheren Untersystem-Schnittstelle PSI zu dem Α-Register hin; das betreffende Signal tritt mit hohem Pegel auf, wenn das Übertragungs-Eintritts-Flipflop sich im Rückstellzustand befindet (das heisst dann, wenn das Signal CQTXIOO = 1 ist), wenn keine Übertragung von der Schnittstelle PSI zu dem Ε-Register oder dem F-Register hin erfolgt (das heisst, dass die Signale CDPTEOO und CDPTFOO = 1 sind), wenn ferner das Α-Register nicht voll ist (das heisst, dass das Signal CDARFOO = 1 ist) und wenn das Schreibregister voll ist (das heisst, dass das Signal PAPRF30 = 1 ist).
2.PAPRF10 =PKVSP10 . PA0VD10 + PAPRF10 · PKVSP10 »' CDPTX20.
Dies ist die Anzeige für ein volles Register für das PSI-Schreibregister, welches gesetzt wird, wenn PA0DV10 mit hohem Pegel auftritt und wenn eine gültige Ablauffolge im weiteren Verlauf vorhanden ist (das heisst, dass PKVSP10 = 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.
3. PAATP10 = ((PKDSCOO · PKVSP10 + PKSE01A · PKVSP10) PKST020 • PKTM020 · PKADV10 · PKSTI20 · PKTMI20 · PKDDT10) + PAATP10 . PKVSP10 · CDARFOO.
Dies ist eine Übertragung des Inhalts des A-Registers in
5 0 9 8 2 5/0978
das PSI-Lesregister. Dabei tritt ein Signalwert lediglich während der Leseoperationen auf (das sind 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 heisst, dass das PKDDT10-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 Α-Register vorhanden ist (das heisst, dass das Signal PKADV1O = 1 ist). Dabei bleibt der Setz—zustand lang genug erhalten, um sicherzustellen, dass die Signale PKSTI10, PKTMI10 und PKATP30 gesetzt sind und das Yollständigkeits-Anzeigeglied für das A-Register zurückgestellt ist (das heisst, dass CDARPOO - 1 ist).
4. CDATB10 = CQTXIOO · CDBRPOO + CDBTC10.
Das die Übertragung vom Α-Register zum B-Register betreffende Übertragungssignal tritt mit hohem Pegel auf, wenn das Eingangsübertragungssignal CQTXIOO eine Null ist und das B-Register leer ist (das heisst, dass das Signal CDBRPOO = 1 ist). Das betreffende Signal tritt auch mit hohem Pegel dann auf, wenn ein die Übertragung vomB-Register zu dem C-Register betreffendes Übertragungssignal mit hohem Pegel auftritt (das heisst, dass das Signal CDBTC10 = 1 ist)·
5. CDBTA10 = CDBTA10 = CDARPOO · CDPTAOO * CQTXHO · CPARL20.
ein
Dies ist/die Übertragung vom B-Register zum Α-Register betreffendes Übertragungssignal, das mit hohem Pegel auftritt, wenn das Übertragungs-Eintritts-Polgesteuerungs-Plipflop gesetzt ist (das heisst, dass das Signal CQTXHO = 1 ist), das Α-Register leer ist (das heisst, dass das Signal CDARPOO = 1 ist) und keine weitere Übertragung vom P-Register oder ALU her (das heisst, dass die Signale CDPTAOO und CPARL20 ■ sind) erfolgt.
509825/0978
6. CDBTC10 = CQTXIOO ' CPCRI20 · CDCRPOO + CDCTD10 · CQTXIOO.
Dies ist ein die Übertragung vom B-Register zum C-Register betreffendes Übertragungssignal, das mit hohem Pegel auftritt, wenn das Übertragungs-Eintritts-Ablaufsteuerungs-Plipflop zurückgestellt ist (das heisst, dass das Signal CQTXIOO = 1 ist) und das B-Register leer...ist (das heisst,. dass das Signal CDBRPOO = 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 heisst, dass die Signale CDCTD10 und CQTXIOO = 1 sind).
7. CDCTB10 = CDABE10 · CDPTBOO · GQTXHO.
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-Plipflop im Setzzustand ist (das heisst, dass das Signal CQTXITO = 1. ist), das Α-Register und/oder das B-Register leer ist (das heisst, dass das Signal CDABE10 = 1 ist) und keine Übertragung von dem F-Register zu dem B-Register hin erfolgt (das heisst, dass das Signal CDPTBOO = 1 ist).
8. CDCTD10 = (CDDRPOO + CDPRP10) · CYWPB10.
Dies ist ein die Übertragung von dem C-Register zu dem D-Register betreffendes Übertragungssignal, das lediglich während Schreiboperationen mit hohem Pegel auftritt.
9. CDDTC10 = (CDARPOO + CDBRPOO +CDCRPOO) CQRD010.
Dies ist ein die Übertragung von dem D-Register zu dem C-Register betreffendes Übertragungsignal, das während einer Leseoperation mit hohem Pegel auftritt (das heisst, dass das Signal CQRD010 = 1 ist), wenn das Register A, B oder C leer ist·
509825/0978
10. CDDTE10 a CQTXO10 * CDPTEOO · CDIDE10.
Dies ist ein die Übertragung von dem D-Register zu dem E-Register betreffendes Übertragungssignal, das dann mit hohem Pegel auftritt, wenn das Überträgungs-Austritts-Polgesteuerungs-Plipflop gesetzt ist (das heisst, dass das Signal CQTX010 = "7 ist), das Ε-Register und/oder das P-Register leer ist (das heisst, dass das Signal CDIDE10 a 1 ist) und keine Übertragung von PSI zu dem Ε-Register hin erfolgt (das heisst, dass das Signal CDPTEOO = 1 ist).
11. CDETD10 a CQTXOOO · CDDRPOO · CPDRI20 + CDDTC10.
Dies ist ein die Übertragung von dem Ε-Register zu dem D-Register betreffendes Übertragungssignal, das dann mit hohem Pegel auftritt, wenn das Übertragungs-Austritts-Folgesteuerungs-Flipflop zurückgestellt ist (das heisst, dass das Signal CQTXOOO = 1 ist) und das P-Register leer ist (das heisst, dass das Signal CDDRPOO = 1 1st). Das Signal tritt dann mit hohem Pegel auf, wenn der Inhalt des D-Registers zu dem C-Register während Leseoperationen übertragen wird (das heisst, dass das Signal CDDTC10 a 1 ist).
12. CDETP10 = CQTX010 ■· CDEPA10 · CDPTPOO.
Dies ist ein die Übertragung von dem Ε-Register zu dem P-Register betreffendes Übertragungssignal, das dann mit hohem Pegel auftritt, wenn das Übertragungs-Austritts-Polgesteuerungs-Plipflop gesetzt ist (das heisst, dass das Signal CQTXO10 = 1 ist), das P-Register leer ist (das heisst, dass das Signal CDEPA10 a 1 ist) und keine Übertragung von PSI zu dem P-Register hin erfolgt (das heisst, dass das Signal CDPTPOO = 1 ist).
13. CDPTE10 a (CQTXOOO · CDERPOO + CDETD10) · CDPTAOO · CDPTBOO.
Dies ist ein die Übertragung von dem P-Register zu dem A-Register betreffendes Übertragungssignal, das dann mit hohem
509825/0978
Pegel auftritt, wenn das Übertragungs-Austritts-Folgesteuerungs-Flipflop zurückgestellt ist (das heisst, dass-das Signal CQTXOOO = 1 ist), das Ε-Register leer ist (das heisst, dass das Signal CDERFOO = 1 ist und keine Übertragungen von dem F-Register zu dem Α-Register oder zu dem B-Register hin erfolgen (das heisst, dass die Signale CSPTAOO und CDPTBOO = 1 sind). Das Signal7wanrend der Übertragung des Inhalts des E-Registers zu dem D-Register hin mit hohem Pegel auf (das heisst, dass das Signal CDETD10 « 1 ist).
14. CDRTP10 = CDDAK10 * CQTXOOO · CDPRFOO.
Dies ist ein die Übertragung von Lesedaten zu dem P-Register betreffendes Übertragungssignal, das dann mit hohem Pegel auf tritt, wenn ein Datenquittungs signal von dem Einrichtungsadapter her mit hohem Pegel auftritt, das Übertragungs-Austritts-Polgesteuerungs-Plipflop zurückgestellt ist (das heisst, dass das Signal CQTXOOO = 1 ist) und das P-Register leer ist (das heisst, dass das Signal CDPRPOO « 1 ist).
HochgeschwindigkeitB-Polgesteuerungsbereich 308
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-4f 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 Pig. 3c und 3d im einzelnen dargestellt. Die Folgesteuerungs· Flipflops dieses Bereichs sind in Pig· 3c als durch Firmenware setzbare Flipflops gezeigt, wobei das Setzen zu Beginn einer
509 8 25/097 8
Operation und das Rückstellen durch Hardware am Ende der Operation erfolgt. Die aus den Mikrobefehlen abgeleiteten Steuersignale weisen entweder ein "CEn- oder ein "OP"-Präfix auf.
Wie aus Pig. 3c hervorgeht, enthalten die Hardware-Folgesteuerschaltungen eine Gatter- und Inverterschaltung 308-10 und Plipflops 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 Durchlas s-Fortnat-Flipflop, welches in den Binärzustandiwährend Suehoperation en /Schreiboperationen gesetzt wird. Das Flipflop 308-2 ist ein Such-Flipflop, welches in den Binärzustandiwä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 den ALU-Bereich ermöglicht, sämtliche 1-Bytes in einem Suchargument eines Kennzeichenfeldes einer Aufzeichnung während Suchkennzeichenoperationen zu vergleichen.
Das Flipflop 308-5 ist das Übertragungs-Austritts-Folgesteuerungs-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 Ε-Register und aus dem Ε-Register zu dem F-Register; es bewirkt ferner die Umschaltung des CDDAKIO-Signals, wodurch dem Einrichtungsadapter gemeldet wird, dass ein Byte in dem F-Register enthalten ist, van das Voll-Flipflop in
509825/0978
den Binärzustand 1 gesetzt ist. Auf die Zurückstellung hin ist eine Übertragung von Bytes aus dem F-Register zu dem Ε-Register und aus dem Ε-Register zu dem D-Register ermöglicht, Die Gatter- und Inverterschaltung 308-10 erzeugt das ttbertragungs-Eintrittssignal. Wie erwähnt, steuert dieses Signal die Übertragung von Bytes durch die Register A, B und O. Ist das Signal ein Binärsignal 1, so ermöglicht es die Übertragung von Bytes von dem Α-Register zu dem B-Register und von dem B-Register zu dem C-Register. Das Setzen erfolgt während der Leseoperationen (das heisst, dass das Signal CQRDOOO = O ist) oder dann, wenn entweder die Datenübertragungsschaltungen oder die Bedienungscodeschaltungen freigegeben sind (das heisst, dass das Signal FKDDTOO oder das Signal PKDSCOO - Null 1st).
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 heisst dann, wenn entweder das Signal CQRDOOO oder CQSHOOO = 0 ist und wenn das Signal CDLBT10 = 1). Das betreffende Flipflop w£d 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 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-Zyklus Zählers abgegeben, den Fig. 3d im einzelnen zeigt. Dabei 1st ersichtlich, dass 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. .
509825/09 78
Das Flipflop 308-100 ist ein Vergleicherzyklus-Flipflop, das durch Firmenware (das heisst^dass das Signal CTSH01S = 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 heisst, dass das Signal CWNR810 = 1 ist) und das erste Durchlauf-Flipflop nicht gesetzt ist (das heisst, dass nicht der erste Durchlauf vorliegt). Das betreffende Flipflop wird ferner zurückgestellt, wenn ein End-Austritts-Bit in dem C-Register ermittelt wird (das heisst, dass das Signal CDCRT10 =1 ist).
Die Flipflops 308-101 und 308-102 sind unter Bildung eines zweistufigen Sprungzählers miteinander verbunden. Während einer Schreiboperation (das heisst, dass die Signale CYWFB10, A1DAV31 und CYFCW10 = 1 sind) sperrt der Zähler die Verringerung der Zählerstellung des DatenZählers des Bereiches 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 Feldes einer gelesenen Aufzeichnung zu PSI hin (das heisst, dass die Signale CQRS010, CDFTX10 und OYIDTOO = 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 Iesezähl-Operation gelesen ist).
Festwertspeicher-Steuerbereich 304
In Fig. 3e ist der Bereich 304 in Blockform dargestellt. Wie ersichtlich, enthält der betreffende Bereich einen Festwertspeicher 304-2, der über ein Adressenregister 304-4 adressierbar ist, welches eine 12-Bit-Adresse über einen Weg 304-3 abgibt. Dieselbe Adresse wird einem Inkrement-Register 304-6 zugeführt. Das Register 304-6 ist von
509825/0978
herkömmlichem Aufbau; es ermöglicht die Vergrösserung seines Inhaltes um 1 und das Laden in das Register 3o4-4 über den Weg 304-7 auf das Auftreten eines Inkrement-Steuersignals CRINC10 hin vorzunehmen, das durch Steuerschaltungen des Blockes 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 CPIR110 und CFIR210 hin, das als Binärsignal 1 abgegeben wird, und zwar durch die Verzweigungs-Sprung-Schaltungen des Blockes 304-20. In ähnlicher Weise werden die Inhalte der Rückführregister 304-10 und 304-12 selektiv in das Addressregister 304-4 geladen. Dies erfolgt über die Wege 304-21 und 304-22 auf das Auftreten eines Signals der beiden Signale CERISI0 und OFR2S10 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 Adressregister 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 CiDTSIO in den Binärzustand 1 überführt, und der Inhalt eines Adressenfeldes 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-Blockes 304-28 zugeführt, der ausserdem
509825/0978
eine Vielzahl von Prüfbedingungs-EingangsSignalen an Eingangsanschlüssen 2-31 erhält· Eines dieser Eingangssignale wird von den Verknüpfungsschaltungen des Blockes 304-30 her zugeführt. Ausserdem nehmen die betreffenden Schaltungen Eingangssignale von dem ALU-Bereich her auf (das heisat, dass die Bus-Ieitungs-Signale CJIRB0-C/LRB7 vorhanden sind). Die Schaltungen des MUX-Blockes 304-28 erzeugen Ausgangssignale, die kennzeichnend sind für Zustände, die geprüft werden. Diese Ausgangssignale werfen dem Verzweigungssprung-Block 304-20 zugeführt. Dieser Block wird in Verbindung mit Pig. 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 CRSTR10 als Binärsignal 1 abgeben. 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. Ausserdem lädt das Register 304-32 eine Adresse in das Adressregister 304-4, und zwar über einen Weg 304-37, wenn der Verzweigungsprüfblock ein Signal CFNTS10 als Binärsignal 1 abgibt. In einem Ablaufsteuerungs-Dekoder 304-38 enthaltene Schaltungen erzeugen die Mikrooperatipns-Steuersignale auf das Auftreten der Signale, die über eisen Weg 304-39 von dem Register 304-32 zugeführt werden.
Mikrobefehlsformate
Bevor die verschiedenen Blöcke gemäss Fig. 3e im einzelnen beschrieben werden, werden zunächst die unterschiedlichen Arten der Mikrobefehle und deren Formate unter Bezugnahme auf die Figuren 4a bis 4g beschrieben.
509825/0978
In Pig. 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 Pig. hervorgeht, weist dieses Mikrobefehlswort einen durch die Bits 0 bis 2 bezeichneten Operationscode 101 auf. Die Bits 13 und 14" bilden ein PeId, welches die Stelle in dem Lese/Schreib-Pufferspeicher angibt, die für ein Auslesen oder ein Einschreiben eines einzigen Bytes vorgesehen ist. In dem Pail, dass mehr als eine Einzelbyte-Lese/Schreib-Operation auszuführen ist, gibt der Inhalt dieser Stelle eine Startadresse an. Das nächste PeId ist ein Zählerfeld, welches die Bits 15 bis 18 enthält. Dieses PeId wird hauptsächlich für Lese/ Schreib- oder Suchzähler- oder Kopfadressenoprationen benutzt, die entweder das Lesen oder Schreiben einer fortlaufenden Information aus dem bzw. in den Lese/Schreib-Pufferspeicherbereich erfordern. Die durch dieses PeId 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 Pirmenware eine Lese/Schreib-Speicheradresse erzeugen kann. Diese Wege sind in der zugehörigen Tabelle ausgeführt. Aus der betreffenden Tabelle ergibt sich dabei, dass dann, wenn dieses PeId auf"01". gesetzt ist, die Hardware den Inhalt des Lese/Schreib-Speicheradressregisters ohne Bezugnahme auf das RWS-Adress&ld des Mikrobefehls ausnutzt. Wenn das PeId auf "10" gesetzt ist, erzeugt die Pirmenware die Lese/Schreib-Speicheradresse dadurch, dass eine vier Bits umfassende Zahl des gegenwärtigen Verknüpfungskanals (LCN) in die Bitpositionen 2 bis 5 eines Lese/Schreib-Speicheradressregisters geladen wird. Die übrigen Bits der Adressenbits werden aus dem RWS-Adressenfeld entnommen, das in dem Mikrobefehl enthalten ist. Wenn dieses PeId auf "11"
509825/0978
gesetzt ist, wird die gesamte RWS-Adresse, die durch, das RWS-Adressenfeld des in dem örtlichen Festwertspeicherregister enthaltenen Mikrobefehls 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-FeId 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 Pig. 4b ist das Format eines unbedingten Verzweigungs-Mikrobefehls gezeigt. Dieser Mikrobefehl ist einer von zwei "SchnellverzweigungsM-Mikrobefehlen, die erfordern, dass die Bits des Mikrobefehls von den Leseverstärker-Verriegelungsschaltungen her dekodiert werden, um nämlich die Erzeugung einer nächsten Mikrobefetals-Wortadresse innerhalb einer Taktimpuls-Zeitperiode freizugeben. Wie aus dem Namen hervorgeht, wird dieser Mikrobefehl dazu benutzt, eine Nicht-Prüf-Verzweigungsoperation zum Zwecke 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, dass dies eine unbedingte Schnellverzweigungs-Operation ist. Die Bits 4 und 5 entsprechen einem llVorverzweigungszustands"-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-Adressregister 1 und das Rückführ-Adresaregiater 2). Diese Register werden dazu
509825/09 78
benutzt, die Adressen festzuhalten, wenn eine Verzweigung von einer Routine zu einer anderen erfolgt· Vie durch die Tabelle in Fig. 4b angedeutet, tritt die Verzweigung in dem Fall, dass die Bits 4 und 5 auf "00" gesetzt sind, auf, ohne dass irgendein Rückführregister auf eine bestimmte Adresse einzustellen wäre. Wenn die Bits 4 und 5 auf "10w gesetzt sind, ist die Verzweigungs-Hardware derart in Betrieb, dass die laufende Adresse, die sich in ROSAR (504-4) findet, um 1 erhöht wird und in das Rückführadressregister 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-Adressregisters 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-Adressregister 2 mit der Adresse des Mikrobefehls geladen f nachdem diese um 1 vergrössert worden ist. Dieses Adressregister 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 Adressregister 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"-FeId 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
509825/097 8
-W-
in dem Rückkehr-Adressregister 1 enthalten ist. Demgegenüber "bewirkt der betreffende Speicher eine Verzweigung zu der in dem Rückkehr-Adressregister 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 PeId bilden. Die übrigen Bits sind wie angedeutet.
In Pig. 4c ist das Pormat des zweiten Schnellverzweigungs-Mikrobefehle gezeigt, der einem bedingten SchnellVerzweigungs-Mikrobefehl (PCB) 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ühradressregister-i-Peld. Wenn dieses Bit auf den Binärwert 1 gesetzt ist und wenn das Prüfergebnis positiv ist, wird der Inhalt des Pestwertspeicher-Adressregisters um 1 erhöht und in dem Rückführadressregister 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-Plipflop-Peld-Bit, das im Setzzustand die Zurückstellung bestimmter Prüf-Plipflops nach der Beendigung der Prüfung bewirkt. Eines dieser Flipflops entspricht einem hier beschriebenen Befehlsende-Plipflop.
Die Bits 6 bis 18 bilden ein Verzweigungsadressenfeld, während die Bits 19 bis 23 ein Multiplex-Prüfzustandsfeld bilden. Die Prüfzustände bzw. Prüfbedingungen sind so festgelegt, wie dies in der Tab'elle 1 gemäss Pig. 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 fest-
509825/0978
gestellt, ob ein Flipflop sich im Binärzustand 1 oder Setzzustand befindet oder nicht. Wenn dieses PeId so gesetzt ist, dass sämtlich Bits Einsen sind, dann zeigt dies an, dass keines der 31 Prüf-Flipflops zu überprüfen ist, dass 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, dass der Inhalt irgendeines der Acht-Bit-Register über den zu prüfenden ALU-Bereich abgegeben wird, und zwar auf eineijbitweisen 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 A, 5 und 19 sind nicht benutzte Felder; demgemäss 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.
509825/0978
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 1st, irgendeines von 16 Registern bezeichnet, dessen Inhalt in den ALU-Verriegelungsschaltungen gespeichert werden kann.
In Pig. 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ählerfeldes, welches die Bits 11 bis 18 umfasst, oder von RWSLR her zu laden gestattet. Diese Operation tritt auf Eingabe/Ausgabe-Operationen hin auf, wie auf eine Bedienungscode-Ablauf folge, eine Schreibdaten-Ablauffolge, eine Lesedaten-Ablauffolge, eine Such-Kennzeichen- oder Datenablauf folge, 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äss Fig. 4e angegeben ist, gesetzt. Das Bit 4 wird benutzt, wenn das Zählerfeld benutzt wird (das heisst, dass 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
509825/0978
der durch das Zählerfeld bezeichneten Zählerstellung zu laden ist. In dem Fall, dass zwei Bytes in die Zähler geladen werden, erfordert dies zwei Eingabe/Ausgabe-Mikrobefehlsworte. Jedesmal, wenn die Byte-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, dass 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 heisst, dass das Bit eine binäre 1 ist). Das Operationscodefeld gibt an, welcher der Zähler (das heisst der PSI-Byte-Zähler oder der Daten-Zähler) zu laden ist; ferner wird die zu ladende Zählquelle
5098 2-5/0978
angegeben (das heisst das laden von den örtlichen lese/ Schreib-Speicherregistera oder dem örtlichen Festwertspicherregister). ^ie 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 die Codierung der Bits 7 bis 10 das Setzen eines einzelnen Flipflops veranschaulicht, kann die Codierung der betreffenden Bits so modifiziert werden, dass 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 einzuschllessen bzw. zu überspringen sind. In Abhängigkeit von dem bestimmten, verarbeiteten Aufzeichnungsformat wird dieses Feld gesetzt, um die richt- Anzahl der einzuschliessenden 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
50 9 8 25/0978
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 Pig. 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 durch 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äss 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 Ergebnisses anzugeben. Die Bits 19 bis 22 bilden ein
SO 9-8 26/0978
B-Operanden-Konstanten-Feld (BOP), welches die Quelle des B-Operanden gemäas Tabelle 4 anzeigt. In ähnlicher Weise zeigen die Bits 23 bia 26 die Quelle des A-Operanden gemäss Tabelle 5 an. Es sei bezüglich der Fig. 4f darauf hingewiesen, dass dann, wenn das Bit 3 eine binäre 1 ist, die Bits 15 bis 22 als B-Operandenbenutzt 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, dass eines der in der Tabelle bezeichneten 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-Feldes 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 iat. Die Bits 10 bis 14 bilden eine Bestimmungsangabe des AIU-Ergebnisfeldes; sie sind so codiert, dass 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, dass das Ergebnis an das bezeichne» 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
509825/0978
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 Mikrobefehfetyp nicht benutzt. In ähnlicher Weise definieren die Bits 23 bis 26 die Quelle des A-Operänden für ALIT.
Detaillierte Beschreibung der ROS-Schaltungen gemäss Fig. 3e
Unter Bezugnahme auf Pig. 3f werden nunmehr bestimmte Schaltungen gemäss Fig. 3e im einzelnen beschrieben. Aus Fig. 3e geht hervor, dass 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äss folgenden booleschen Ausdrücken erzeugt.
1. CFDTS10 (ROS Daten zu ROSAR) = CFUCB10 · OBNOKOO · CFR1S00 · CFR2S00 + CFFCB10 ' CBB0K10.
2. CFFCB10 (schnelle bedingte Verzweigung) = CFBNH10
• CDR0310
3. CFIR110 (Inkrementierer auf Rückführ-Reg 1) = CFUCB10
• CBNOKOO.
4. CFIR210 (Inkrementierer auf Rückführ-Reg 2) = CBNOKOO
• CFUCB10 · CRD2210.
0 9 8 2 5/0978
5. CFR1S10 (Rückführ-Reg 1 zu ROSAR) * CPÜCB10 · CRD1910
• CBNOKOO.
6. CFR2S10 (Rückführ-Reg 2 zu ROSAR) = CFUCB10 · CRD2010
• CBNOKOO.
7. CBB0K10 (Verzweigung OK für PCB) β CBBOKOC · CBTRBOO + CBTRB10 · CBRBOJOO + CBN0K10.
8. CBBOKOC (FCB-Testbedingungen) = CBBOKOA · CRD1900 . CBBOKOB.
Die Signale CBBOKOA, CBBOKOB und CBRSTOO 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 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 CBE0C10. Dieses Signal wird durch ein Flipflop 304-300 erzeugt, welches in den Schnellverzweigungs-Verknüpfungsschaltungen des Blockes 304-30 enthalten ist. Wie dargestellt, umfasst dieser Block dieses Flipflop zusammen mit zugehörigen Gatterschaltungen 304-301 bis 304-302,/in der dargestellten Weise angeschlossen sind.
Weitere Test- bzw. Prüfsignale umfassen ein den Nichtempfang eines Indeximpulsea anzeigendes Signal A1IDTOO, das durch
XnQex— den Adapterbereich 310 auf das Auftreten des/Impulssignals von der Leitung IDX hin erzeugt wird. Ferner umfassen die
509825/0978
Testsignale ein. die Ungleichheit von Null des Spaltenzählerinhalts anzeigendes Signal CCGCZOO von dem Bereich 318, ein die Ungleichheit von Null des DatenZählerinhalts anzeigendes Signal CCDCZOO von dem Bereich 318, ein das-Nichtsetzen eines Datenende-Plipflops anzeigendes Signal PKDDTOO von dem Bereich 302 und ein den ersten Durchlass /das Setzen des Pormat-Plipflops betreffendes Signal CQPPP10 von dem Hochgeschwindigkeits-Ablaufsteuerberelch 308 her. Es sei ferner darauf hingewiesen, dass die Schaltung 304-208 ein die Gleichheit von A und B anzeigendes Signal CAAEBIO und ein Signal CAAGB10, das anzeigt, dass A grosser ist als B, von dem ALU-Bereich 316 her empfängt.
Aus Pig. 3f geht ferner hervor, dass die Verzweigungsprüfschaltungen des Blockes 304-34 die Schaltungen 304-340 bis 304-344 enthalten, die .in der dargestellten Weise angeschlossen sind. Diese Schaltungen sind derart betrieben, dass Verzweigungssignale auf einen Normalzustands-Verzweigungs-Mikrobefehl hin erzeugt werden, der in dem örtlichen Pestwertspeicher-Register 304-32 gespeichert ist. Darüber hinaus erzeugen diese Schaltungen Signale für die Preigabe der Ablaufsteuer-Dekoderschaltung 304-38, die derart betrieben ist, dass sie die Bits 23 bis 26 des Normalzustands-Verzweigungs-Mikrobefehls dekodiert, weiche Bits über den Weg 304-39 zugeführt werden. Die in dem Verzweigungs-MUX-Block 304-36 enthaltenen Multiplexer-Auswahlschaltungen liefern ein Verzweigungssignal CBN0K10 auf die Abtastung einer der Verriegelungsschaltungen des ALU-Bereiches hin, wie dies durch die Verriegelungsfeld-Bits 20 bis 22 festgelegt ist. Darüber hinaus wird das Signal 0BN0K10 an die Schaltungen abgegeben, die in dem Inkrement-Verknüpfungsschaltungsblock 304-8 enthalten sind. Wie dargestellt, umfasst dieser Block die Schaltungen 304-80 bis 304-83. Diese Schaltungen führen das Signal CRINC10 in ein binäres 1-Signal über, und zwar
509825/0978
■ - 3* -
entsprechend folgendem booleschen Ausdruck:
CRINC10 (Vergrössern yon ROSAR) = (CBNOKOO · CPUCBOO · CRRESOO) · (CPPCBOO + CBBOKOO).
Lese/Schreib-Speicherbereich 306
Die Piguren 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-Peldern von herkömmlichen] Aufbau in der angegebenen Weiaa aufgebaut ist. Der Speicher 306-2 wird über ein Adressregister 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 CPSRI10 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 ICN-Bit von einem RWS-Einrichtungs-Anschlussregister 306-7 über einen Weg 306-5 geladen werden, und zwar auf ein Steuersignal CiDVPIO hin. Wie aus Pig. 3g ersichtlich ist, wird das Register 306-7 von den AIU-Busleitungs-Verriegelungsschaltungen des Bereiches 316 her geladen. Wenn das Signal CPSRL10 ein Binärsignal Null ist, kann das Register 306-4 ' über einen Weg 306-10 mit einer Adresse geladen werden, die von dem Registerepeicher 306-12 abgegeben wird. Dieses Register erhält eine Adresse von den Schaltungen eines Blockes 306-14, nachdem die Adresse von dem Register 306-4» die über eten Weg 306-20 abgegeben worden ist, um 1 erhöht worden und abgegeben worden ist, wenn ein Inkrement-Signal CWINC1Q und ein allein eine Inkrementierung bewirkendes Inkrement-Signal CWIN010 als Binärsignale 1 auftreten. Die Schaltungen 306-16 bis 306-19 lassen das Signal CWINC10 als Binärsignal 1 während sämtlicher Schreiboperationen,
509825/0978
während der Suchoperationen und leseoperationen gemäss folgendem Ausdruck auftreten:
CWINC10 = CVWPA10 . CWDTMOO + CQSH010 · CQITIOO · CWPTM10 + CFRED10.
Die Schaltung 306-20 lässt das Signal CWIN010 als Binärsignal 1 während der Suchoperationen auftreten, wenn das Signal CWT0G10 ein Binärsignal Null ist und wenn das Signal CWINC1Ö ein Binärsignal 1 ist.
Die drei Adressensignale hoher Wertigkeit von dem Adressregister 306-4 werden den Chip-Iteigabedekoderschaltungen 306-30 zugeführt, die für jede Reihe der Felder Freigabesignale erzeugen. Wenn die Schaltungen des Blockes 306-32 das Lesesignal CWRED10 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 Blafces 306-32 lassen das Signal CWRED10 als Binärsignal 1 auftreten, wenn der Folgesteuer-Dekoder bzw. Ablaufsteuer-Dekoder des Bereiches 304 das Signal CEMSQ08 erzeugt und wenn das Flipflop 306-36 das Signal CWRED1A 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 Pufferbereichs 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
50982 5/0978
Schaltungen des Blockes 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 Pestwertspeicher ein Signal CFNRL10 als Binärsignal 1 abgibt.
Während eines Schreibteiles eines 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 CWWPLOO bis CWWPL07) gesteuert. Dies bewirkt, dass 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ässt.
Figur 3h zeigt die Schaltungen 306-71 bis 306-88 des Blockes 306-70, die für die Erzeugung der verschiedenen Übertragungssteuer-Signale CWDTM10, CWCTM10, CWFTM10 und CWNTM10 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, dass die UND-Glied- und Inverterschaltung 306-80 das Signal CWDTM10 als Binärsignal 1 auftreten lässt. 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 MOA"-Wertes hin, der in dem Unteroperations-
50 98 25/09 7 8
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 CEMSQ09 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 CWPTM10 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 Blockes 306-100 gezeigt, die zur Erzeugung eines Umschalt-Signals CWT0G10, eines Einzel-Umschaltsignals CWTG010 und eines Umschalt- und Inkrement-Signals CWTIC10 verwendet werden. Diese Schaltungen bringen durch die Erzeugung des Signals CWTOG10 die Eigenschaft mit sich, den Inhalt des RWS-Adressenregisters um 512 Speichestellen innerhalb einer Taktzeit (FDA) zu erhöhen. Diese Anordnung
5 09825/0978
- se «
erleichtert die Speicherung einer Information von zwei Quellen während der Suchoperationen; dies bedeutet, dass 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 (CWS01) wird zwischen zwei Zuständen "umgeschaltet", um verknüpfungsmässig die Speicheradresse um 512 Stellen zu erhöhen/zijverringern, da sie einen Pos i Ions wert von 512 besitzt.
Die Umschalt-Verknüpfungsschaltungen des Blockes 306-100 enthalten UND-Glieder 306-1 bis 306-104» eine Verstärker-Schaltung 306-105 und die Inverterschaltung 306-106. Das Umsehaltsignal CWTOG10 wird auf die Dekodierung der Zustände bestimmter Ablaufsteuerungs-Flipflops hin erzeugt. Die UND-Glieder 306-101 bis 306-104 führen das Signal CWT0G10 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 ermittelt 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.
509825/0978
Die UND-Glied- und Verstärkerschaltungen 306-110 und 306-111 des Blockes 306 - 100 verknüpfen das Umschaltsignal CWTOGIO mit Inkrement-Signalen CWINC1O und CWICOO in der dargestellten Weise, um ein einziges Umsehaltsignal CWTG010 und ein Umschalt-[und Inkrement-Signal CWTIC10 zu erzeugen. Ist das Inkrement-Signal CWINC10 in den Binärzustand 1 gesetzt bzw. tritt es als Binärsignal 1 auf, so wird das einzige Umschaltsignal CWTG010 im Binarzustand Null gehalten. Auf diese Weise ist ein Zugriff zu der nächsten Gruppe der 512 Speicherplätze verhindert. Das UND-Glied 306-20 gemäss Pig. 3g lässt das einzige Schrittsignal CWIN010 als Binärsignal Null dann auftreten, wenn das Signal CWT0G10 ein Binärsignal 1 ist. Dadurch kann die Adresse von den Inkrement-Verriegelungsschaltungen in die Adressregister-Flipflops geladen werden. Wenn CWS0110 des Adressregisters in ein Binärsignal Null umzuschalten ist und die Adresse um 1 erhöht wird, schaltet das UND-Glied 306-110 das Signal CWT1C10 in ein Binärsignal 1 um.
Mehrzweckregister-Bereich 314 und Rechenverknüpfungseinheit-Berelch 316.
In Fig. 3i sind die Bereiche 3H und 316 im einzelnen dargestellt. Dabei ist ersichtlich, dass ALU eine Haupt-Rechen- und Verknüpfungseinheit (AIU) 316-2 und eine Hilfs-ALU-Einheit 316-4 zusammen mit zugehörigen Betriebsauswahl-Eintrag- und Ausführungsfreigabe-Schaltuispn enthält (zum Beispiel den Schaltungen des Blockes 316-6). Darüber hinaus sind Paritätfehlerprü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 ausserdem braucht ihre Arbeitsweise nicht beschrieben zu werden.
509 8 25/0 97 8
Die Haupt-ALU-Einheit 316-2 vermag sechzehn Verknüpfungsoperationen oder zweiunddreissig Rechenoperationen auf die Abgabe bestimmter Kombinationen von EingangsSignalen auszuführen, die ihren Eintrag-(CIN), Ausführungsfreigabe-(CEN)- und Betriebssteuerungs- (M0-M3)-Eingangsanschlüasen zugeführt werden. Die ALU-Einheit wird für die Aufnahme von A- und B-Operandensignalen durch die Schitungen 316-62 bis 316-65 freigegeben, die das Freigabesignal CACENOO als Binärsignal auftreten lassen. Wenn weder eine Verknüpfungsoperation noch eine-Rechenoperation ausgeführt wird, arbeitet die ALU-Einheit 316-2 in einem Subtaktionsbetrieb (das heisst in einem Betrieb, der normalerweise während der Such- und Fehlerfestelloperationen benutzt wird). Dies bedeutet, dass 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 CAFOO bis CAF07. Das Fehlen eines Eintragsignals bewirkt, dass ein erzwungenes Eintragsignal dem Eintrag-Eingangsansdiuss 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 CASTR10 hin, das durch die Schaltungen eines Abtast/RST-Steuerblockes 316-20 erzeugt wird. Die an den A s B-Ausgangsanschlüssen beider ALU-Einheiten auftretenden Ausgangssignale werden mit Hilfe einer UND-Schaltung des Blockes 316-8 verglichen, um den Vergleich bzw. die Übereinstimmung
50982 5/0978
zu kontrollieren.
Während einer Verknüpfungsoperation wird das Unteroperationscodefeld des Mikrobefehls (das heisst 011110410-CRNOTIO) an den Dekoder 316-60 abgegeben, und zwar von dem örtlichen ROS-Register des Bereiches 304. Die Eingangssignale CRN0410 bis CRN0710 bewirken zusammen mit den Abtast- bzw. Auatastsignalen CASTRiO und CASTROO von der Steuereinrichtung 316-20, dass der Decoder 316-60 die in Präge kommenden Betriebssteuereingangssignale erzeugt, die ihrerseits an die Eingänge MO bis M3 abgegeben werden.
Wie oben erwähnt, veranlassen diese Signale die Haupt-ALU-Einheit, die angegebene Verknüpfungsoperation auszuführen. Der Α-Operand (AOP) wird von dem Allzweckregisterabgegeben Speicherplatz oder dem "heissen" Register/, Welches die im A-OperatJenscodefeld des Mikrobefehlswortes bezeichnete Adresse aufweist (das sind die Bits N23 bis N26). Der B-Operand (BOP) wird abgegeben von:
1) Einem Allzweckregister oder "heissen" Register, das durch das B-Op-PeId des Mikrobefehlswortes angegeben ist (das sind die Bits N19 bis N22), oder
2) von einer Acht-Bit-Konstante, die durch den Mikroprograramierer (das sind die Bits I5 bis 22 des in dem örtlichen ROS-Register gespeicherten Mikrobefehlswprtes) angegeben ist, wenn das das Mikrooperationscodeformat anzeigende Bit eine binäre 1 ist. Wie aus Pig. 3h hervorgeht, werden diese Signale über die in dem Block 314-2 enthaltene B-Operand-Miiltiplexer-Auswahlschaltung abgegeben. Zu diesem Zeitpunkt veranlassen die Bits NO bis N2 des Operationscodefeldes zusammen mit den Bits 19 bis 22, dass ein Dekoder innedialb des Blockes 314-2 die in Frage kommenden Auswahlsignale an die B-Operand-MUX-Schaltung 314-22 abgibt.
5098 25/0978
Nach Ausführung dieser bezeichneten Verknüpfungsoperationen gibt die Haupt-AIU-Einheit 316-2 das Ergebnis an die Ergebnis-Busleitungsschaltung 316-10 und an die Schaltungen eines Ergebnis-Test- und Speicherblockes 316-30 ab. Wie aus Pig. 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 CAEQA10 in ein Binärsignal T überführt, und zwar zum selben Zeitpunkt, zu dem das Abtast signal CASTR10 in ein Binärsignal 1 übergeht. Das Flipflop 316-300 wird in einen Binärzustand Null zurückgestellt, wenn das Signal CAEQA10 in ein Binärsignal Null während eines Vergleichszeitintervalls überführt wird (das heisst dann, wenn das Signal CACMT10 ein. Binärsignal 1 ist). Das die Tatsache, dass A grosser ist als B, speichernde Flipflop 316-310 wird in seinen Binärzustand 1 umgeschaltet, wenn das Gleichheits-Signal CAEQA10 ein Binärsignal Null ist und wenn ein Ausführungssignal CAAC010 ein Binärsignal 1 ist. Das Plipflop 316-310 wird in den Binärzustand Null zurückgestellt, wenn das Abtastsignal CASTR10 in ein Binärsignal 1 überführt wird. Es sei darauf hingewiesen, dass die Ausgangssignale von den Flipflops 316-300 und 316-310 zu den Schaltungskreisen 316-305 bzw. 316-3H wieder zurückgeleitet werden. Wenn ein Flipflop in den Binärzustand Null zurückgestellt wird, veranlasst es, dass das entsprechende Signal der Signale CAAEB10 und CAAGB10 ebenfalls als Blnär-Signal Null auftritt. Wie oben erwähnt, werden die Signale CAAEB10 und CAAGB10 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-AIU-Einheit 316-2 ein Ausführungssignal erzeugt wird.
509825/0978
Das in den Ergebnis-Busleitungs-Schaltungen 316-10 enthaltene Ergebnis wJrd 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 N10 bis NH 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 Pehierprüfschaltungen 316-8 durch ein Rückstellsignal CARSTOO. 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, dass ein eine Abtastung ermöglichendes Signal CASTA10 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 tinären 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 CFL0G10 gleich, eine binäre 1, im Falle einer Rechenoperation ist das Signal CFAR010 eine binäre 1,und im Falle einer normalen bedingten Verzweigungsoperation ist das Signal CFNCBI0 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, dass das Rückätellsignal CARPFOO
50 9 825/0978
in den richtigen Zustand auf das Ruckste11signal OAHESOO und das Abtastsignal CASTROO gebracht wird, wie dies angedeutet ist. Entsprechend einer Verknüpfungsoperation veranlassen die Bits CRN04 bis CRN07 zusammen mit den Abtastsignalen, dass der Dekoder 516-60 die in Präge kommenden Betriebssteuer-Eingangssignale während einer Rechenoperation erzeugt. Darüber hinaus wird ein Eintrag-Signal CACINOO aus den Eintrag-Bits CRN08 bis CRN09 des Mikrobefehlswortes erzeugt. Hierfür dienen nicht näher dargestellte Schaltungen. Die Ergebnisse werden dem Eintrag-Anschluss (CIN) zugeführt. In Abhängigkeit von der Codierung der erwähnten Mikrobefehls-Wortbits geben die an die Anschlüsse CIN und MO bis M3 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-Feldes des Mikrobefehlswortes angegeben ist.
Wie erwähnt, führt die AIU-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-, Kennzeichenoder Datenfeld-Suchoperationen erforderlich sind. Die AIU-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,
Mulitplexer-Auswahlschaltung 314-22, von dem C-Register oder dem Lese/Schreib-Speicherbereich erhalten worden ist, mit dem Α-Operand verglichen wird, der von der A-Operand-
5 0 9.8 2 5/0978
Multiplexer-Schaltung 314-22 über das D-Regieter erhalten wird. Zu Anfang "bewirkt ein Verknüpfungs-Mikrobefehl, der ao codiert ist, dass er eine Operation P = 1 angibt, (siehe Pig. 4f), dass die ALU-Einheit das Gleichheitssignal CAEQA1O als Binärsignal 1 abgibt. Gleichzeitig wird das Abtastsignal CASTR1O in ein Binärsignal 1 überführt, wodurch das für den Gleichheits-Vergleich dienende Plipflop 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 Abtaetsignal CASTR10 ein Binärsignal Null. Am Ende der Suchoperation wird ein PCB-Müscobefehl benutzt, um den Zustand der Signale CAAEB10 und CAAGB10 zu überprüfen, um festzustellen, ob ein erfolgreicher Vergleich vorgelegen hat. Der Mikrobefehl führt das Abtastsignal CASIR10 ausserdem in ein Binärsignal 1 über, welches die ALU-Schaltungen zurückstellt.
Betrachtet man nun das Allzweck-Register und die Multiplexer-Schaltungen des Blockes 314, so zeigt sich aus Pig. 3i, dass die Allzweckregister in zwei Pestkörper-Speichern 314-3 und 314-4 enthalten sind. Diese Speicher, die von herkömmlichem Aufbau sind, sind über ihre entsprechenden Adressregister 314-6 und 3H-8 adressierbar. Diese Register nehmen Signale unmittelbar von dem örtlichen Pestwertspeicher- -Register her auf (das sind CRN20 bis 0RN22 und CRN12 bis CRNI4). Diese Register liefern die Adresse für das Allzweckregister. Die Inhalte des Adressregisters 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 N19 bis N22 und liefern Ausgangs-Auswahlsignale BMO bis BM2 als Eingangssignale für die B-Operand-Multiplexerschaltungen 314-22. Die Multi-
50 9 8 25/0978
2459955
plexer-Ausgangssignale von dem ausgewählten Quellenregister her werden dem Auswahlregister 3H-28 zugeführt, wenn die Steuerschaltungen des Blockes 314-34 das Signal CABBAOO in ein Binärsignal 1 überführen. Dies erfolgt auf die spezielle Codierung der Bits NO bis N3 und N19, die bestimmen, ob die Information aus einem Allzweckregister oder einem der übrigen Register des Systems als C-Operand-Quelle dient. Die in dem MUX-Adifessenspeicherblock 3H-21 enthaltenen Plipflops halten eine Anzeige der Bits N20 bis N22 fest, und zwar für eine kontinuierliche Auswahl der betreffenden Quelle während einer Suchoperation. Im einzelnen wird das Bit 19 den Steuerschaltungen 3H-34 zugeführt, die bestimmen, welche der Zulassungsfunktionen CABBA10 oder CABBAOO in eine binäre 1 überführt wird, um entweder das adressierte Allzweckregister oder das Register auszuwählen, das mit den Multiplexerschaltungen des Blockes 314-22 verbunden ist. In ähnlicher Weise geben die Multiplexer-Adressenauswahlschaltungen des Blockes 314-26 die Steuersignale AMO bis AM2 an die A-Operand-Multiplexerschaltungen des Blockes 314-24 ab, um eines der Register als Quelle des Α-Operand auszuwählen. Ausserdem halten die in dem MUX-Adressenspeicher 314-27 enthaltenen Flipflops eine Anzeige der Bits N24 bis N26 für eine weitere Bezugnahme während einer Suchoperation fest. Die in dem Block 314-32 enthaltenen Steuerschaltungen sind auf die Bits NO bis N2 und N23 hin derart betrieben, dass Zulassungs-Signale CAABA10 und CAABAOO erzeugt werden, um das Ausgangssignal eines adressierten Allzweckregisters oder eines der Register auszuwählen, die mit den Multiplexerschaltungen 314-24 verbunden sind. Wenn das Signal CAABA10 als Binärsignal 1 auftritt, wird der Inhalt eines Adressen-Allzweckregisters dem Wähler 314-30 zugeführt. Wenn demgegenüber das Zulassungssignal CAABAOO als Binärsignal 1 auftritt,
509825/0978
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 514-2 und 314-4 eingeschrieben wird, werden, wie oben erwähnt, die Adressen durch die Bits N12 bis N14 bezeichnet (das heisst durch das DOR-PeId eines Verknüpfungs- oder Rechen-Mikrobefehls) . Ein Einschreibyorgang erfolgt auf ein Impulssignal CLK hin, das durch den Schreibgenerator 308-4 ; erzeugt wird.
Daten- und SpaltZählerbereich 31B
Pig. 3j zeigt im einzelnen die Verknüpfungsschaltungen, die den Bereich 318 bilden. Aus Pig. 3j geht dabei hervor, dass 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 Steuersehaltungen 318-6 und Pehierprüf-Verknüpfungs schaltungen 318-8 enthalten. Zusätzlich enthält der Bereich ZählVerknüpfungsschaltungen, Ae so geschaltet sind, dass ein Signal abgegeben wird,wenn die Zählerstellung des Datenzählers auf Null verringert worden ist. Wie dargestellt, enthalten diese Schaltungen innerhalb des Blockes 318-10 einen Dekoder 318-100, der von herkömmlichem Aufbau ist und der so betrieben ist, dass die Signale CDDCZ1A als Binärsignale 1 auftreten, wenn der betreffende Dekoder feststellt, dass die ZählersteTLung des Datenzählers sich auf Null vermindert hat. Dies bewirkt seinerseits, dass ein UND-Glied 318-102 des Plipflops 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 veranlasst, das Signal CGSCZ10 als Binärsignal 1 abzugeben. Das Plipflop 318-104 wird über ein UND-Glied 318-106 in seinen Binärzustand Null zurückgestellt, wenn ein Haltesignal CCCZH10 als Binärsignal Null auftritt. Wie zuvor
509825/0978
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 Pestwertspeicher-Register her (das sind die Bits CRN15 bis CRN22) oder von dem örtlichen Lese/Schreib-Speicher-Register her geladen (das heisst von den Stufen CWNR1 bis CWNR7). 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 CCDUIOO (DAC-obere ladung) sowie des Signals CCDLIOO (DAC-untere Ladung)· Die Auswahl der genau festgelegten Zählfelder wird durch das Setz-Zählfeld des Eingabe/Ausgabe-Mikrobefehlswortes bewirkt. Dieses Zählfeld bewirkt die Erzeugung der Signale CPCi1RIO und CRCPM10.
Während des Betriebs werden die Zählerstellungen beider Zähler durch ein sogenanntes Dekrement-Signal CCDEC10 jeweils dann verringert, wenn ein Byte zu/von dem Einrichtungsadapter übertragen wird. Obwohl des 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 Pehlerprü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 CCDCE10 als Binärsignal 1 ab·
Wie aus Pig. 3j hervorgeht, enthält dieser Bereich ferner einen Hauptspalt-Zähler 318-12, einen Hilfsspalt-Zähler 318-H zusammen mit Dekrement-Steuerschaltungen 318-16
509825/0978
and Pehlerprüfs chaltungen 318-18. Ausserdem enthält der Bereich 318, wie dargestellt, eine Spalt-Dekoderschaltung 318-20, die ein Ausgangssignal erzeugt, welches anzeigt, dass 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 CCGLIOO (GAC-untere Ladung) und CCGULOO (GAC-obere Ladung) als Binärsignale Null auftreten. Das Laden erfolgt auf die Dekodierung eines Rechen-Mikrobefehls hin, der die Erzeugung des Signals CFGLL10 bewirkt. Dies geschieht auf einen Rechen-Mikrobefehl hin. Während des Betriebs werden die Zählerstellungen beider Zähler durch das Signal CCGEC10 verringert, das durch ein Flipflop 318-160 erzeugt wird. Dieses Flipflop wird über ein UND-Glied 318-162 auf das Signal CQCGP10 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 Vergleichersehaltung ein Fehlersignal CCGCE10 als Binärsignal 1 ab.
Einrlchtungs-Ebenen-Schnlttstellen-Steuerbereich 310
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
5 0 982 5 /0978
Einrichtung ermöglichen. Diese Register enthalten ein Einrichtungs-Anschlussregister 310-1, ein Einrichtungs-Befehlsregister 310-4 und ein Adapter-Befehlsregiater 310-6 sowie ein Parameter-Register 310-8. Jedes Register wird in einer speziellen Ablaif folge zur Speicherung einer Information freigegeben. Dabei werden insbesondere die verschiedenen Register für die Speicherung von Signalen durch Steuersignale CFDPL10, CFDCLIO, CFACL10 und CFPRL10 freigegeben. Diese Signale werden aus der Decodierung eines speziellen Feldes 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 Blockes 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 Pufferbereiches 302-50).
Das Einrichtungs-Anschlussregister 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, dass die von der ALU-Ergebnis-Busleitung her zugeführten vier Bits niedriger Wertigkeit in das Einrichtungs-Anschlussregister geladen werden und dass ein Binrichtungs-Anschlussdekoder 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 Massen-Speichereinrichtungen verwendet. Das Parameter-Register 310-8 ist normalerweise das zweite Register, das geladen wird. Es wird von dem Lese/Schreib-Speicherbereich her
509825/0978
mit der savor gespeicherten Einrichtungs-Parameter-Byte-Information geladen, die für eine bestimmte Operation über die ALU-Einheit benötigt wird. Dieses Informations-Byte 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-Anschluss-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 veranlasst, den angegebenen Einrichtungsbefehl auszuführen. Die vier Bits A1AC4 bis A1AC7 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 nichte mit der '
509825/0978
vorliegende Erfindung zu tun hat, ist sie hier auch nicht enthalten.
Wie aus Pig. 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 VDn herkömmlichem Aufbau ist. Wenn das Einschieben erfolgt, wird die Zähletsteilung 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, dass das zusammengesetzte Zeichen parallel in einen Lese-Puffer 310-32 übertragen wird. Darüber hinaus veranlasst diese Übertragung den Adapter 310-2, ein Daten-Verfügbarkeitssignal (A1DAV10 tritt als Binärsignal 1 auf) zu erzeugen, was dem Prozessor-Folgesteuerungs-Verknüpfungsschaltungen des Bereiches 304 anzeigt, dass 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 Polgesteuerungs-Schaltungen des Bereiches 304 das Signal durch Abgabe eines Datenquittungssignals A1DAK10 als Binärsignal 1. Damit dürfte ersichtlich sein, dass die Erzeugung der Signale A1DAV10 und A1DAK10 die Adapter- und Prozessor-Operationen miteinander zu synchronisieren gestattet.
509825/0978
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 DXDCS10 als Binärsignal 1 auftritt. Der in das Einrichtungs-Befehlsregister 310-4 geladene Befehl wird decodiert und ausgeführt» In ähnlicher Weise benutzt der Adapter die Signale A1DAK10 und A1DAV10 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 Synchronisationsbits abzuwechseln. Wenn der Adapter im Unterhied 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 D10-D17. In dieser Betriebsart übertragen die Leitungen SWO und SRI Abtastsignale.
509825/0978
Steuerbytes
Bevor die Arbeitsweise der vorliegenden Erfindung beschrieben wird, sei zunächst auf Fig. 7 Bezug genommen, in der die Bedeutung der verschiedenen Bits der verschiedenen Steuerbytes angegeben ist, die von dem Prozessor 300 verwendet werden. Die Operation des Prozessors 300 wird in Übereinstimmung mit der Information gesteuert, die in drei Bytes gespeichert ist, welche dem Arbeitsbyte 1, dem Arbeitsbyte 2 und dem Lese/Schreib-Leitungs-Byte entsprechen, wie dies in Fig. 7 dargestellt ist. Die Bits des Jeweiligen Bytes können lediglich durch den Prozessor"modifiziert und/oder getestet werden, wenn der betreffende Prozessor unter mikroprogrammierter Steuerung arbeitet. Eine derartige Überprüfung erfolgt in der Rechen- und Verknüpfungseinheit des Prozessors.
Betrachtet man die Bytes gemäß Fig. 7 näher, so zeigt sich, daß das in dem Allzweckregister 6 gespeicherte Arbeitsbyte 1 acht Bits enthält, das so codiert ist, daß sie die in Fig. 7 angegebenen Zustände anzeigt. Dieses Byte wird durch Such-, Lese- und Schreib-Mikroprogrammroutinen benutzt und aktualisiert; es wird für Orientierungs-Zwecke benutzt. Die Bedeutung des jeweiligen Bits ist folgende. Das Bit 0 wird auf eine binäre 1 gesetzt um anzuzeigen, daß die Operation des
509825/0978
Massenspeicher-Prozessors in bezug auf die Information, die von- der Platte weggelesen wird» "ausgerichtet" bzw. orientiert ist. Im allgemeinen wird dieses Bit durch Kopf-Verarbeitungs-Mikroprogramm-Routinen auf eine binäre 1 gesetzt und durch Steuerbefehle auf eine binäre 0 zurückgestellt. Diese Steuerbefehle bewirken einen. Verlust in der Ausrichtung bzw. Orientierung. Wenn das Bit 0 auf eine binäre 1 gesetzt ist, wodurch die Ausrichtung signalisiert ist, kennzeichnet das Bit 1 den Zustand des geradzahligen/ungeradzahligen Bits eines vorhergehenden Kopf-Kennzeichenbytes. Im allgemeinen vergleicht der Vergleicher in dem Fall, daß ein Kopf-Feld einer Aufzeichnung gelesen wird, das ungeradzahlige/geradzahlige Bit dieses Bytes. Demgemäß wird das Bit 1 nach jeder Kopf-Verarbeitungsoperation gesetzt oder zurückgesetzt.
Das Bit 2 signalisiert dem Prozessor, wenn es auf eine binäre gesetzt ist, daß der Lese/Schreibkopf der Platte durch die Hausadresse zum Aufzeichnungs-Null-Spalt während der Zeitspanne läuft, während der der Spalt-Zähler sich nicht in einer Zählerstellung befindet, die gleich 0 ist. Der Prozessor setzt dieses Bit auf eine binäre 1, und zwar entweder auf einen Lesebefehl, einen Schreibbefehl oder einen Such-Hausadressenbefehl hin. Das Bit 3 signalisiert dem Prozessor in dem Fall, daß es auf eine binäre 1 gesetzt ist, daß der Platten-Lese/Schreibkopf durch den Kopf zu dem Kennzeichenspalt während der Zeitspanne läuft, während der der Spalt-Zähler sieh nicht in einer Zählerstellung befindet, die gleich Ö ist. Dieses Bit wird durch den Prozessor auf eine binäre 1 gesetzt, und zwar auf den Abschluß von Kopf-Routinen, wenn kein Fehler ermittelt worden ist.
509825/0978
Das Bit 4 signalisiert dem Prozessor, wenn es auf eine binäre gesetzt ist, daß der Platten-Kopf durch ein Kennzeichen zu dem Daten-Spalt hin während der Zeitspanne bewegt wird, während der der Spalt-Zähler nicht eine Zählerstellung von 0 speichert. Dieses Bit wird durch Kennzeichen-Verarbeitungs-Mikroprogrammroutinen und durch Kopf-Routinen gesetzt, wenn die Kennzeichenlänge einer Aufzeichnung 0 ist. Das Bit 5 signalisiert dem Prozessor 300, wenn es auf· eine binäre 1 gesetzt ist, daß der Platten-Lese/Schreibkopf über die Daten zu dem Kopf-Spalt hin bewegt wird, und zwar während der Zeitspanne, während der der Spalt-Zähler nicht eine Zählerstellung von 0 speichert. Dieses Bit wird auf eine binäre 1 durch Datenverarbeitungs-Mikroprogrammroutinen gesetzt. Das Bit 6 signalisiert dem Prozessor 300, wenn es auf eine binäre 1 gesetzt ist, daß die laufende Aufzeichnung, die gelesen wird, eine Kennzeichenlänge von 0 besitzt. Schließlich wird das Bit 7 durch Such-Mikroprogrammroutinen benutzt, die hier nicht beschrieben werden.
Wie aus Fig. 7 hervorgeht, enthält das in dem Allzweckregister-Speicherplatz 7 gespeicherte Arbeitsbyte 2 ebenfalls acht Bits, die so codiert sind, daß sie die bezeichneten Zustände darstellen. Dieses Byte wird von Such-, Lese- und Schreib-Routinen benutzt und aktualisiert. Es speichert hauptsächlich eine Befehlsketteninformation für die Verwendung durch Schreib-Mikroprogrammroutinen. Der Prozessor setzt dieses Byte auf binäre Nullen bei der Auslösung eines Kanalprogramms zurück sowie nach beendeter Ausführung von Steuerbefehlen. Im einzelnen ist die Bedeutung des jeweiligen Bits dieses Bytes folgende. Das Bit 0 signalisiert dem Prozessor 300, wenn es auf eine binäre 1 gesetzt ist, daß ein Schreib-Aufzeichnungs-Null-Befehl zugelassen ist. Dieses Bit wird normalerweise auf eine binäre 1 durch einen Such- oder Schreib-Hausadressenbefehl gesetzt. Wird das Bit 1 auf eine
509825/0978
binäre 1 gesetzt, so signalisiert dies dem Prozessor 300, daß Schreib-Zähl-, Kennzeichen- und Datenbefehle zugelassen sind. Wenn das Bit 2 auf eine binäre 1 gesetzt ist, signalisiert dies dem Prozessor 300, daß Schreib-Kennzeichen- und/oder Datenbefehle zugelassen sind. Damit dürfte ersichtlich sein, daß die ersten drei Bits für die Überprüfung der Befehls-Ablauffolge oder -kette verwendet werden.
Das Bit 3 ist ein Ersatzbit, während das Bit 4 in dem Fall, daß es auf eine binäre 1 gesetzt ist, dem Prozessor 300 signalisiert, daß eine Indexmarkierung in bzw. auf der Spur, die gelesen wird, festgestellt worden ist. Im allgemeinen wird dieses Bit auf eine binäre 1 gesetzt und von Mehrspur-Mikroprogrammroutinen herangezogen um zu bestimmen, auf welche Indexmarkierung hin eine■Spurumschaltung erfolgen sollte. Das Bit 5 signalisiert dem Prozessor 300, wenn es auf eine binäre gesetzt ist, daß die Einrichtung sich in einem einen Schreibvorgang zulassenden Betrieb befindet, der gestattet, daß auf die Platte· geschrieben wird. Die Bits 6 bzw. 7 werden dazu herangezogen, dem Prozessor zu signalisieren, daß Daten in einer anderen Spur untergebracht worden sind und daß eine Überlauf-Aufzeichnung ermittelt worden ist.
Wie aus Fig. 7 hervorgeht, enthält das normalerweise in dem Mehrzweckregister 3 gespeicherte Lese/Schreib-Leitungsbyte ebenfalls acht Bits, die die angegebene Bedeutung besitzen. Dieses Byte wird von den üblichen Lese-Äusführungs- und Schreib-Ausführungs-Routinen dazu herangezogen, die Leitung im Hinblick darauf zu bewirken, welche bestimmten Operationen von diesen Routinen für die bestimmten Befehle auszuführen sind, die von dem Prozessor 300 ausgeführt werden. Im Falle beider Lese- und Schreiboperationen werden die Bits des Leitungs-Bytes von der besonderen Leitungs-Routine festgelegt und danach von den
50 9 8 25/0978
Ausführungs-Routinen überwacht, die in Übereinstimmung mit der Codierung des Leitungs-Bytes fortfahren.
Die Bedeutung des jeweiligen Bits ist, wie im einzelnen gezeigt wird, folgende. Wenn das Bit 0 in den Binärzustand 1 gesetzt ist, signalisiert dies dem Prozessor 300, daß der PSI-Bereich für eine Übertragung von Bytes zu/von der Eingabe/Ausgabe-Steuereinrichtung hin zu konditionieren ist. Wenn das Bit 1 in den Binärzustand 1 gesetzt ist, signalisiert dies dem Prozessor 300, daß die Ausführungsroutine Fehler unberücksichtigt zu lassen hat, die in den Kennzeichen- und Datenfeldern ermittelt worden sind. Das Bit 2 ist ein die Rückkehr nach einem Zählfeld betreffendes Rückkehr-Bit, das im Binärzustand 1 dem Prozessor 300 signalisiert, daß auf eine rufende Leitungs-Routine zurückzukehren ist, nachdem der Lese/Schreib-Plattenkopf das Zählfeld einer Aufzeichnung durchlaufen oder dieses übersprungen hat. Das Bit 3 ist ein eine Rückkehr zur Datenausrichtung betreffendes Rückkehr-Bit, das im Binärzustand dem Prozessor signalisiert, daß auf die rufende Leitungs-Routine zurückzukehren ist, wenn der Lese/Schreib-Plattenkopf sich in dem Kennzeichen- bis Daten-Spalt oder in dem.Kopfbis Daten-Spalt befindet (d.h., daß dann die Kennzeichenlänge ist). Es sei darauf hingewiesen, daß die Bits 2 und 3 sich gegenseitig ausschließen; wenn kein Bit in den Binärzustand gesetzt ist, kehrt die Lese-Ausführungsroutine auf die rufende Leitungs-Routine erst zurück, nachdem das Datenfeld einer Aufzeichnung gelesen ist.
Das Bit 4 ist ein die Ermittelung eines Indeximpulses anzeigendes Bit, das im Binärzustand 1 signalisiert, daß die Leseausführungsroutine des Prozessors einen Indeximpuls während der Suche nach einem Kopffeld einer Aufzeichnung gefunden hat.
5 0 9825/0978
Das Bit 5 ist ein die Beendigung bei der peripheren Untersystem-Schnittstelle PSI festsetzendes Bit, das im Binärzustand 1 anzeigt, daß das End-Flipflop der peripheren Untersystem-Schnittstelle PSI in den Binärzustand 1 zu setzen ist. Es sei bemerkt, daß dieses Bit lediglich dann in den Binärzustand 1 gesetzt ist, wenn das Bit 0 auf eine binäre 1 gesetzt ist.
Die Bits 6 und 7 werden in Verbindung mit Suchoperationen benutzt. Sie liefern eine Anzeige, wenn eine Aufzeichnung festgelegt wurde, die ein Sucharguinent enthält, welches gleich dem Suchargument ist, das von der Eingabe/Ausgabe-Steuereinrichtung ausgesendet worden ist, und wenn eine Suchoperation erfolgreich gewesen ist.
Mikroprogramm-Routinen
In Fig. 8 sind die verschiedenen Mikroprogramm-Routinen und die Befehlscodes dargestellt, die zum Anrufen dieser Routinen benutzt werden. Dies bedeutet, daß in Fig. 8 die generelle Beziehung bestimmter Routinen sowie typischer Verzweigungs-Ablauffolgen gezeigt ist. Es sei bemerkt, daß die Hauptfunktion dieser Routinen darin besteht, das Auftreten bestimmter externer Ereignisse zu interpretieren und auf diese Ereignisse in einer Verknüpfungsweise zu reagieren. Die generelle Quelle dieser externen Ereignisse ent^richt den PSI-und DLI-Schnittstellen. Wenn Kanalprogrammbefehle von dem Prozessor 300 empfangen werden, werden sie decodiert und dazu herangezogen, eine in dem Festwertspeicherbereich gespeicherte geeignete Mikroprogramm-Routine auszuwählen, die ihrerseits von dem Prozessor ausgeführt wird. Am Ende der Ausführung der Routine beendet der Prozessor 300 entweder das Kanalprogramm und kehrt dann auf eine Abrufroutine zurück, oder aber er bewirkt eine Ver-
50982 5/0978
zweigung zu einer weiteren Routine, um die Verarbeitung desselben Kanalprogramms fortzusetzen.
Wie zuvor erwähnt, enthält der Festwertspeicherbereich zwei Rückführ-Adressregister. Während einer Verzweigungsoperation kann die um eins erhöhte Adresse einer laufenden Routine in dem Rückführ-Adressregister 1 (RAR1) gespeichert werden. Dies ermöglicht dem Prozessor, in die richtige rufende Routine zum richtigen Zeitpunkt oder an der richtigen Stelle wieder einzutreten. Wenn der Prozessor 300 eine zusätzliche Verzweigung ausführt, kann die Adresse +1 der laufenden Routine in dem Rückführ-Adressregister 2 (RAR2) gespeichert werden. Auf diese Weise vermag der Prozessor eine zweite Ebene der Verzweigung im Bedarfsfalle zu unterstützen. In Fig. 8 ist das Rückführregister bezeichnet, das von einer bestimmten Routine und die Routinen benutzt wird, die durch verschiedene Leitungs-Routinen aufgerufen werden.
Da einige Routinen gemäß Fig. 8 sich nicht in besonderer Weise auf die Erfindung beziehen, werden sie hier nur kurz erläutert werden. Im allgemeinen arbeitet die Ausführungs-Routine (XIRCT) in der Weise, daß angeschlossene Massenspeichereinrichtungen abgefragt werden und daß auf Einrichtungsanforderungen von der Eingabe/Ausgabe-Steuereinrichtung gewartet wird. Wenn ein Kanalprogramm wartet (CPW), geht die Ausführungs-Routine auf eine Kanalprogramm-Auslösungsroutine (CPINT), Fig. 6a,über, die die Verarbeitung eines Kanalprogramms auslöst, wie dies hier im einzelnen beschrieben wird. Nachdem die in Fig. 8 angegebene Operationen abgeschlossen sind, geht die Kanal-Auslösungsroutine auf eine Befehlsdecodierroutine über (siehe Fig. 6b), die den von der Eingabe/Ausgabe-Steuereinrichtung empfangenen Befehlscode decodiert, wie dies hier im einzelnen
509825/0978
erläutert wird. Die Befehlscodebits werden decodiert, und der Prozessor ruft die in Frage kommenden Leitungs-Routinen für die Ausführung des angegebenen Befehls auf.
Wie aus Fig. 8 hervorgeht, sind die Lese-Mikroprogrammroutinen in Ausführungs- und Leitungs-Routinen wie folgt unterteilt:
a) Ausführungsroutinen = Lese-Ausführung (Serie) und Lese-Ausführung (parallel) und
b) Leitungs-Routinen = Lese-Zählung (RDCNT), Lese-Kennzeichen und Daten (RD:KD), Lese-Daten (RDDAT), Lese-Aufzeichnung (RDROM) und Lese-Zählung, Kennzeichen und Daten (RDCKD).
Wie noch im einzelnen erläutert wird, führen die Lese-Ausführungsroutinen die Hardware-Einstellung und die Ausführung der bestimmten Leseoperation aus. Die Routinen können durch irgendeine der Lese-Leitungsroutinen aufgerufen werden; sie sind mit geeigneten Eintrittspunkten versehen. Nach dem Abschluß wird die Steuerung auf die rufende. Routine zurückgeführt, und zwar über das Rückführregister 1.
Im allgemeinen führen die Leitungs-Routinen folgende Funktionen aus. Die Lese-Zähl-(RDCNT)-Leitungs-Routine liest die Bytes des Zählfeldes einerAufzeichnung und überträgt sie zu der Eingabe/Ausgabe-Steuereinrichtung. Die Lese-Kennzeichen- und Daten-(RD;KD)-Leitungs-Routine liest die Bytes der Kennzeichen- und Datenfelder einer Aufzeichnung für die Übertragung zu der Eingabe/Ausgabe-Steuereinrichtung. Die Lese-Daten-(DDAT)-Routine liest die Bytes des Datenfeldes einer Aufzeichnung für die Übertragung zu der Eingabe/Ausgabe-Steuereinrichtung. Die Lese-Aufzeichnung-0-(RDROM)-Leitungs-Routine liest die Bytes der Zähl-Kennzeichen- und Datenfelder einer Aufzeichnung R0 und überträgt sie zu der Eingabe/Ausgabe-Steuereinrichtung.
50 9 8 25/0978
Die Lese-Zähl-Kennzeichen- und Daten-(RDCKD)-Leitungs-Routine liest die Bytes der Zähl-, Kennzeichen- und Datenfelder einer Aufzeichnung für die Übertragung zu der Eingabe/Ausgabe-Steuereinrichtung' (das bedeutet, daß eine vollständige Aufzeichnung gelesen wird).
In ähnlicher Weise sind die Schreib-Routinen in Ausführungsund Leitungs-Routinen unterteilt, wie dies in Fig. 8 veranschaulicht ist (d.h., daß Schreib-Ausführungs- und Schreib-Kennzeichen- und Daten-, Schreib-Zähl-Kennzeichen- und Daten-Leitungs-Routinen vorliegen).
Die Zwischenraum-Zähl-(SPCI0)-Leitungs-Routine wird dazu herangezogen, eine Verteilung eines mangelhaften bzw. unbrauchbaren Zählfeldes zu bewirken und die Bytes der Kennzeichen- und Datenfelder einer Aufzeichnung wieder aufzufinden. Die den Raum für die Aufzeichnung 1 (SPACE) betreffende Leitungs-Routine wird dazu benutzt, die Hausadresse (HA) und die Aufzeichnung 0 (Ro) einer Spur zu verteilen. Die den Raum für das Ende eines Feldes (SPEOF) betreffende Leitungs-Routine wird dazu herangezogen, über die unbrauchbaren Kennzeichen- und Datenfelder oder über den Zwischenaufzeichnungsspalt einer Aufzeichnung hinwegzugehen.
In Fig. 8 ist ferner eine Anzahl der Arbeits- oder Ausführungsroutinen und deren Funktionen aufgeführt. Diese Arbeitsroutinen enthalten eine Dateiende-Verarbeitungsroutine (PREOF ), eine Mehrspur-(MLTTK)-Routine, eine variable Spalt-(VARGAP)-Routine und eine Kopf-Kennzeichen-HFLAG)-Routine. Die Dateiende-Verarbeitungsroutine wird lediglich von den Lese- oder Schreibroutinen aufgerufen, wenn der Platten-Lese/Schreibkopf in dem Kennzeichen- bis Datenspalt ausgerichtet ist. Dabei
50982 5/0978
sind zwei Einträge in die Routine vorgesehen, ein normaler Eintrag und ein Format-Schreibeintrag. Wenn die Datenlänge einer Aufzeichnung 0 ist und der normale Eintrag benutzt wird, wird das Kanalprogramm beendet, nachdem die Zustandsinformation modifiziert ist. Wenn die Datenlänge 0 ist und der Format-Schreibeintrag benutzt wird, wird der Datenzähler mit einer Zählerstellung von 1 geladen, woraufhin eine Verzweigung zu der rufenden Routine folgt. Wenn die Datenlänge nicht 0 ist, wird eine Verzweigung zu der rufenden Routine über das Rückführ-Adreßregister 2 (RAR2) ausgeführt. In allen Fällen wird, wie dies durch Fig. 8 angegeben ist, das Kennzeichen-Daten-Spalt-Bit des Arbeitsbytes 1 auf eine binäre festgesetzt.
Die Mehrspur-(MLTTK)-Routine wird dazu benutzt, die Lese/ Schreibköpfe auf eine folgende Spur auf einen Zylinder umzuschalten. Die Routine bestimmt, ob eine Mehrspuroperation zugelassen ist; sie ermöglicht dem Prozessor 300, eine Verzweigung zu dem gemeinsamen Verarbeitungsteil einer Routine hin vorzunehmen, um die Lese/Schreib-PIattenkopfumschaltung vorzunehmen. Wenn der Befehl eine Nicht-Mehrspuroperation angibt, überprüft die Routine das Indeximpuls-Zählbit des Arbeitsbytes 2. Wenn ein Indeximpuls nicht ermittelt worden ist, modifiziert die Routine die detaillierte Zustandsinformation und führt eine Verzweigung zu der Leseausführungs-Routine für die Zustandsspeicherung aus und beendet den Befehl. In anderen Fällen wird das Indeximpuls-Bit des Arbeitsbytes 2 auf eine binäre 1 gesetzt, woraufhin eine unbedingte .Verzweigung zu der rufenden Routine hin erfolgt.
Die den variablen Längen-Spalt betreffende Routine berechnet eine variable Spaltlänge dadurch, daß sie einen Anteil der
509825/097 8
Summe der Größen der Kennzeichenlänge und der Datenlänge einer Aufzeichnung aufnimmt und dann das Ergebnis in zwei Mehrzweckregistern speichert. Am Ende der Berechnung des variablen Spalts kehrt die Routine auf die rufende Routine zurück, und zwar über das Rückführ-Adreßregister 2. Die Le seausführungs-Routine und die Schreib-Ausführungsroutine führen die Hardware-Einstellung und die Ausführung von Lese/Schreiboperationen aus.
Beschreibung der Arbeitsweise der bevorzugten Ausführungsform
Unter Bezugnahme auf die Fig. 1, 2, 3a bis3k, 4a bis 4g, 5a und 5b, 7 und 8 und unter Bezugnahme auf die Flußdiagramme gemäß Fig. 6a, 6b, 9a bis 9c, 10, 11a bis 11e sowie 12a und 12b wird nunmehr die Arbeitsweise der vorliegenden Erfindung im Hinblick auf den mikroprogrammierten peripheren Prozessor der vorliegenden Erfindung erläutert. In Fig. 10 sowie 12a und 12b sind die Unterschiede in den Leitungs- und Ausführungsroutinen veranschaulicht. In Fig. 10 ist dabei der Ablauf der Lese/Zähl-Leitungs-Routine gezeigt, während in Fig. 12 und 12b der Ablauf der Lese-Ausführungsroutine für die Verarbeitung von Daten in einem Parallelbetrieb veranschaulicht ist. Da beide Arten von Routinen in ähnlicher Weise arbeiten wie die Lese-Zähl-Kennzeichen- und Daten-Leitungs-Routine gemäß Fig. 9a bis 9c und die Lese-Ausführungs-Routine gemäß Fig. 11 bis 11e, werden diese Routinen hier nicht gesondert beschrieben werden.
Es sei beispielsweise angenommen, daß die Eingabe/Ausgabe-Steuereinrichtung 106-6 einen Eingabe/Ausgabe-Befehl erhält, der angibt, daß der Prozessor 300 eine Lese-Zähl-, Kennzeichen- und Datenoperation auszuführen hat, bei der er die Zähl-
S0982B/0978
Kennzeichen- und Datenfelder einer Aufzeichnung liest. Die Eingabe/Ausgabe-Steuereinrichtung wird in der ¥eise betrieben, daß der Befehl decodiert wird und daß dann die Anzahl der Eingabe/Ausgabe-Befehlsbytes zu dem Massenspeicher-Prozessor 300 hin übertragen wird. Die Bytes enthalten ein Verknüpfungs-Kanalnummer-(LCN)-Byte oder entsprechende Bytes von einem oder mehreren Kanalbefehlsworten. Das LCN-Byte gibt den Kanal an, der in die Ausführung des Eingabe/Ausgabe-Befehls einbezogen ist. Die Befehlsworte enthalten ein Befehlscodebyte, welches den Operationstyp angibt, Zahl-Bytes, die die Anzahl der Bytes angeben, welche zwischen dem Hauptspeicher und dem Prozessor 300 zu übertragen sind, und Adressenbytes, die eine Hauptspeicher-Startadresse für die Übertragung angeben.
Nachdem die Bingabe/Ausgabe-Steuereinrichtung Signale von dem Massenspeicher-Prozessor 300 her aufgenommen hat, welche Signale anzeigen, daß der betreffende Prozessor bereit ist, die Befehlsbytes aufzunehmen, beginnt die Eingabe/Ausgabe-Steuereinrichtung mit der Übertragung der Bytes, und zwar beginnend mit dem LCN-Byte. In Fig. 6a ist in vereinfachter Form ein Teil der Kanalprogrammroutine für die Verarbeitung eines nächsten Befehls veranschaulicht. 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-Zahl-Angabe enthalten (z.B. A0700). Die Mikrobefehle der jeweiligen Routine sind aufeinanderfolgenden physikalischen Adressen in dem Festwertspeicher zugeteilt, und zwar in Übereinstimmung mit der alphanumerischen Reihenfolge ihrer relativen Adressen.
50 9 8 25/0978
Die ausgeführten vorläufigen Operationen entsprechen den beiden Blöcken gemäß Fig. 6a. Der Prozessor 300 bereitet sich auf die Aufnahme des Befehls durch Ausführung eines Eingabe/Ausgabe-Mikrobefehls vor, der linterbefehlssignale erzeugt. Diese Signale bewirken das Setzen der TRM- und RQD-Flipflops und die Ladung des PSI-Zählers mit der bestimmten Zählerstellung 3 (siehe Fig. 3a). Das LCN-Byte wird in den PSI-Schreibpuffer 302-12 geladen, nachdem das Signal PA0DV10 durch die Prozessor-PSI-Schaltungen in ein Binärsignal 1 überführt worden ist. Der Schreibpuffer-Inhalt wird in das Α-Register geladen, wenn das Signal CDPTA10 durch die Steuerschaltungen 302-70 auf ein hohes Potential gebracht wird. Danach führen die Steuerschaltungen 302-70 nacheinander die Signale CDATB10 und CDBC10 in Binärsignale 1 über.
Während des Übertragungsintervalls überprüft, wie dies aus Fig. 6a hervorgeht, der Festwertspeicher den Inhalt des C-Registers hinsichtlich des Eintreffens des LCN-Bytes, und zwar durch fortwährende Ausführung eines schnellen Verzweigungs-Mikrobefehls. Wenn das C-Register mit einem Byte geladen ist, hält der Speicher die Überprüfung an und geht auf den nächsten Mikrobefehl A0600 über. Dieser Mikrobefehl bewirkt auf seine Ausführung hin, daß der Prozessor 300 das LCN-Byte in einem der Allzweckregister (das ist GPR Nr. 0) speichert. Danach führt der Prozessor 300 einen Rechen-Mikrobefehl A0850 aus, der eine Darstellung des in dem Mehrzweckregister Nr. 0 gespeicherten LCN-Bytes über die ALU-Einheit zu dem Einrichtungs-Adapter-Anschlußregister hin überträgt. Gleichzeitig wird das LCN-Byte über die ALU-Einheit übertragen und in dem RWS-Einrichtungs-Anschlußregister gespeichert.
509825/0978
Es sei angenommen, daß das LCN-Byte zu einem Befehl für ein Kanalprogramm gehört, das zuvor aktiviert worden ist. Deshalb sei ferner angenommen·, daß die dem Kanalprogramm zugehörige Massenspeichereinrichtung "belegt" worden ist und 'daß der Bit-Zustand davon erhalten wird. Demgemäß sind aus dem Flußdiagramm gemäß Fig. 6a derartige Einzelheiten weggelassen. Die Prozessor-Hardware 300 verringert die Zählerstellung des PSI-Zählers durch das Signal STI jeweils dann um 1, wenn sie ein Byte empfängt. Durch Ausführen einer ähnlichen Folge von Operationen speichert der Prozessor 300 das Befehlscodebyte in einem anderen der Allzweckregister (das ist GPR JMr. 9). Wie aus Fig. 6a hervorgeht, beendet der Prozessor die Routine auf die Aufnahme eines dritten Bytes hin, welches ein Kennzeichenbyte bzw. Spurkennungszustandsbyte ist. Dieses Byte wird in ein weiteres Mehrzweck.register (d.h. in GPR Nr. 10) geladen.
Auf diese Weise wird die Kanalprogramm-Auslösungsroutine beendet, und der Prozessor 300 tritt dann in die Befehls-Decodierroutine ein, wie sie in Fig. 6b im einzelnen angegeben ist. Aus Fig. 6b geht dabei hervor, daß die Befehls-Decodierroutine zunächst den Mikrobefehl A0100 ausführt, der den Zustand des das Format/den ersten Durchlauf betreffenden Flipflops überprüft. Da der Prozessor zuvor nicht einen Schreibbefehl ausgeführt hat, wird das Format/Flipflop in den Binärzustand 0 gesetzt. Der Prozessor führt dann den Mikrobefehl A0700 aus, der den Befehlscode aus dem Allzweckregister Nr. 9 zu dem Mehrzweckregister Nr. 3 hin verschiebt, woraufhin dieser Befehlscode in der Rechen- und Verknüpfungseinheit ALU über- ~ prüft wird«, Der Prozessor führt dann eine Reihe von Verzweigungs- und Verknüpfungs-Mikrobefehlen aus, die die Bits eines Befehlscodes überprüfen, wobei jeweils ein Bit oder eine
509825/0978
Anzahl von Bits überprüft wird. Die Bits werden dabei sequentiell überprüft, um das Vorhandensein von Bits zu erleichtern, die "unberücksichtigt zu lassen sind" (das sind jene Bits, die nicht bei der Auswahl einer Routine verwendet werden). Wie aus Fig. 6b hervorgeht, bewirkt der Prozessor eine Verzweigung auf die Ergebnisse einer Überprüfung hin zum Anfang einer geeigneten Mikroprogramm-Routine zwecks Ausführung des Befehls. Dabei zeigt sich insbesondere, daß der Prozessor Mikrobefehle ausführt, die zunächst eine Überprüfung bezüglich des Befehlscodes 45 vornehmen. Jeder der in dieser Figur angegebenen Teste stellt eigentlich eine Folge von Mikrobefehlen dar. Da bei diesem Beispiel angenommen worden ist, daß der Befehlscode eine Lese-Zähl-Kennzeichen- und Datenfeldoperationen angibt, tritt der Prozessor 300 in die RD;CKD-Leitungs-Routine ein, die mit dem Verzweigungs-Mikrobefehl A0100 beginnt. Aus Fig. 9a ergibt sich dabei, daß dieser Mikrobefehl prüft, ob der Prozessor in bezug auf die Aufzeichnung, die gelesen wird, "ausgerichtet" bzw. orientiert ist. Dies bedeutet, daß der Prozessor zuvor eine Orientierungs- bzw. Ausrichtinformation gespeichert hat und derart betrieben wird, daß das Arbeitsbyte 1 in dem Mehrzweckregister Nr. 6 abgeholt und der Zustand des Bits 0 überprüft wird. Unter der Annahme, daß das System "ausgerichtet" ist, führt der Prozessor 300 sodann den Mikrobefehl A0350 aus.. Wie angedeutet, veranlaßt dies den Prozessor, die Schreib-Zulassungsbits 0, 1 und 2 des Arbeitsbytes 2 zurückzustellen, das in dem Allzweckregister Nr. 7 gespeichert ist.
Nunmehr geht der Prozessor auf den Verknüpfungs-Mikrobefehl A0400 über. Dieser Mikrobefehl besitzt ein Format, das dem Format des zweiten Mikrobefehls gemäß Fig. 4g entspricht.
509825/0978
Dieser Mikrobefehl lädt eine bestimmte Konstante in das Mehrzweckregister Nr. 3. Diese Konstante entspricht dem Lese/Schreib-Leitungsbyte. Es sei bemerkt, daß der Prozessor mit Rücksicht darauf, daß er diese bestimmte Folge von Mikrobefehlen ausgewählt hat, imstande ist, auf den Mikrobefehl A0400 Bezug zu nehmen. Die Hauptbedingung für den Eintritt in diese Ablauffolge besteht darin, daß der Prozessor festgelegt hat, daß der Befehlscode ein solcher Code ist, der ein Lese-Zähl-, Kennzeichen- und Datenfeld angibt, das seinerseits die Auswahl eines Lese/Schreib-Leitungs-Byte-Bitmusters entsprechend dem/Konstanten-Feld des Mikrobefehls A0400 bewirkt. Damit dürfte ersichtlich sein, daß eine ausgewählte Leitungs-Routine, und zwar hier die Lese-Zähl-, Kennzeichen- und Daten-Leitungsroutine, das in Frage kommende Leitungs-Byte für die anschließend ausgewählten Lese-Ausführungsroutinen festlegt.
Wie aus Fig. 9a hervorgeht, besitzt das Leitungs-Byte für die Leitungs-Routine die Konfiguration "101000XXM, die den Bits 0 bis 7 gemäß Fig. 7 entspricht. Für die Zwecke der vorliegenden Erfindung sind die Bits 6 und 7 als »XX»1 bezeichnet; es handelt sich hierbei im wesentlichen um Bits, die anzeigen, daß keine Berücksichtigung zu erfolgen hat. Wie aus Fig. 9a hervorgeht, tritt der Prozessor 300 dann in die Lese-Ausführungsroutine ein (Fig. 11a bis 11e). Zuerst wird dabei ein Mikrobefehl A0100 ausgeführt, der eine Überprüfung dahingehend vornimmt, ob die in die Ausführung der Leseopera- ■ tion einbezogene Einrichtung eine Parallel- oder Serien-Einrichtung ist. Diese Überprüfung erfolgt dadurch, daß der Zustand eines Bits des Codes überprüft wird, der in dem Adapter-Parameter-Register 310-8 gemäß Fig. 3k gespeichert ist (das bedeutet, daß der Zustand des Signals.BNNPMIO
509825/0978
überprüft wird, welches der MUX-Schaltung 304-280 gemäß Fig. 3f zugeführt wird). Dieses Register wird zuvor mit der Einrichtungs-Parameterinformation geladen, die aus dem RWS-Speicher erhalten wird.
Pur den Fall, daß es sich bei der betreffenden Einrichtung um eine Parallel-Einrichtung handelt, ruft der Prozessor eine weitere Ausführungsroutine für Parallel-Einrichtungen ab (das ist die Routine N4REX gemäß Fig. 12a und 12b). Wenn auf der anderen Seite die Einrichtung nicht eine Parallel-Einrichtung ist, beginnt der Prozessor mit der Ausführung der eingeführten Lese-Ausführungsroutine (das ist die Routine REXEC), die die Prozessor-Hardware für Serien-Einrichtungen konditioniert.
Die obige Überprüfung erfolgt in der Ausführungs-Routine, um die Anzahl der Verzweigungs-Mikrobefehle zu verringern. Daraus dürfte ersichtlich sein, daß mittels eines relativ einfachen Testes eine Leitungs-Routine über die zunächst eingeführte Ausführungs-Routine unterschiedliche Ausführungs-Routinen auswählen kann, die ihrerseits die Hardware in geeigneter Weise in Abhängigkeit von den Eigenschaften der Einrichtungen einsetzen.
Unter der Annahme, daß die Einrichtung eine Serien-Einrichtung ist, beginnt der Prozessor die REXEC-Routine. Aus Fig. 11a ergibt sich dabei, daß zwei Eintrittspunkte in diese Routine vorhanden sind. Der erste Eintritt wird dann benutzt, wenn die Bytes eines Zählfeldes, das nicht die Aufzeichnung 0 ist, gelesen wird. Demgegenüber ist der zweite Eintritts- bzw. Eintragpunkt für das Lesen der Bytes des Aufzeichnungs-Null-Zählfeldes vorgesehen. Da der Befehlscode das Lesen eines
50 9 8 25/0978
Zähl-, Kennzeichen- und Datenfeldes angibt, führt der Prozessor 300 einen Verknüpfungs-Mikrobefehl A0105 aus. Dies veranlaßt den Prozessor, einen Lese-Zählbefehlscode in demAllzweckregister 4 zu speichern und sodann den Verzweigungs-Mikrobefehl A0700 auszuführen. Dieser Mikrobefehl holt dann das Lese/Schreib-Leitungs-Byte in dem Allzweckregister 3 ab und überträgt es zu den Verriegelungsschaltungen der Rechen- und Verknüpfungseinheit ALU hin, um das Bit 0 zu überprüfen. Aus Fig. 7 geht dabei hervor, daß das Bit 0 in dem Fall, daß es eine binäre 1 ist, anzeigt^ daß die PSI-Schaltungen Daten zu übertragen haben. Da bei dieser Betriebsart der Prozessor benötigt wird, um Daten über die PSI-Schnittstelle zu übertragen, ist das Bit 0 des Leitungs-Bytes auf eine binäre 1 gesetzt.
Aus Fig. 11a geht hervor, daß der Prozessor 300 sodann einen weiteren Verzweigungs-Mikrobefehl ausführt, der den Zustand des Bits 5 des Leitungs-Bytes überprüft. Wie zuvor erwähnt, zeigt dieses Bit'in dem Fall, daß es eine binäre 1 ist, an, daß der Prozessor die End-Leitung nach Übertragung des letzten Bytes eines Feldes zu der Eingabe/Ausgabe-Steuereinrichtung hin setzt, da nämlich keine weiteren Bytes mehr für die Ausführung dieses Befehlscodes zu übertragen sind. Wenn dieses Bit daher auf eine binäre 1 gesetzt ist, würde der Prozessor 300 seine Übertragung von Bytes beenden, nachdem sämtliche Bytes des Zählfeldes übertragen worden sind. Da bei diesem Beispiel der Prozessor 300 benötigt wird, um die Bytes von mehr als einem Feld zu übertragen, wird dieses Bit auf eine binäre 0 gesetzt. Der Prozessor 300 führt dann einen Mikrobefehl aus, der die PSI-Steuerschaltungen für die Übertragung von Bytes zu der Eingabe/Ausgabe-Steuereinrichtung hin festlegt (z.B. das PSI DDT-Flipflop in den Binär-
509825/0978
zustand 1 setzt), und außerdem führt dies zum Laden des PSI-Zählers mit einer bestimmten Zählerstellung 8.
Nachfolgend führt der Prozessor 300 den Verzweigungs-Mikrobefehl B0200 aus, der das Arbeitsbyte 1 aus dem Allzweckregister Nr. 6 abholt und zu den Verriegelungsschaltungen der Rechen- und Verknüpfungseinheit ALU hin überträgt. Der Prozessor überprüft den Zustand des Bits 0 um zu bestimmen, ob es in bezug auf die einlaufenden Datenbytes "ausgerichtet" bzw. "orientiert" ist. Unter der Annahme, daß dieses Bit auf eine binäre 1 gesetzt worden ist, führt der Prozessor 300 sodann den Mikrobefehl B0850 aus, gemäß dem eine Prüfung nach einer Spalt-Länge von 0 erfolgt. Da dies ein Lese-Zähl-Kennzeichen- und Datenbefehl ist, ist die Spalt-Länge nicht 0. Dies veranlaßt den Prozessor, sodann einen Eingabe/Ausgabe-Mikrobefehl B0400 auszuführen. Dieser Mikrobefehl stellt den Prozessor für den Lesebetrieb ein. Dies umfaßt das Festlegen der Zustände der Folgesteuerungs-Flipflops in Übereinstimmung mit den Feldern des Eingabe/Ausgabe-Mikrobefehls. Darüber hinaus lädt der Prozessor eine bestimmte Zählerstellung 9 in den Daten-Zähler und sendet den Lese-Befehlscode, der in dem Allzweckregister 4 gespeichert ist, an das Adapter-Befehlsregister aus.
Auf die obigen Operationen folgend tritt der Festwertspeicher in eine Zwei-Mikrobefehls-Schleife ein, welche die Verzweigungs-Mikrobefehle B0600 und B1100 umfaßt. Demgegenüber erfolgt die Übertragung von Bytes, die aus dem Zählfeld der Aufzeichnung gelesen worden sind, unter der Steuerung der Hardware-Schaltungen des Prozessors. Am Ende der Übertragung, das normalerweise dadurch angezeigt wird, daß das Befehlsende-
509825/0978
.- 93 -
CBEOC-Flipflop in den Binärzustand 1 gesetzt worden ist, führt der Prozessor 300 den Mikrobefehl B120 aus, wie dies in Fig. 11b angegeben ist.
Unter der Annahme, daß kein Fehler durch den Adapter festgestellt worden ist, tritt der Prozessor sodann in die HFLAG-Routine ein, die eine B'e hl erÜberprüfung vornimmt und die Spalt-Ausrichtung festlegt. Mit Beendigung dieser Routine führt der Prozessor 300 dann den Mikrobefehl C0120 aus, um eine Überprüfung hinsichtlich Lesefehler vorzunehmen. In dem Fall, daß ein Lesefehler vorhanden.war, führt der Prozessor den Mikrobefehl C0400 aus, gemäß dem das Leitungs-Byte in dem Register GPR Nr. 3 abgeholt und der Zustand des Bits 1 des Leitungs-Bytes überprüft wird, um nämlich zu bestimmen, ob Lesefehler unberücksichtigt bleiben können oder nicht. Da der Befehl das Lesen von Zähl-, Kennzeichen- und Datenfeldern angibt, ist dieses Bit eine binäre 0. Wäre ein Lesefehler ermittelt worden, so würde demgemäß das Leitungs-Byte die Lese-Ausführungsroutine veranlassen, den Betrieb zu beenden, und zwar durch Eintritt in die Zustands-Routine über den Mikrobefehl D0100, wie dies in Fig. 11b angegeben ist. k
Unter der Annahme, daß keine Lesefehler vorliegen, führt der Prozessor 300 sodann den Mikrobefehl C0130 aus, wie dies in Fig. 11b angegeben ist. Dies veranlaßt den Prozessor, die Kennzeichenlänge der Aufzeichnung in den Datenzähler zu laden und dann den Mikrobefehl C0160 auszuführen um zu bestimmen, ob diese Länge 0 ist. Da diese Länge nicht 0 ist, führt der Prozessor 300 sodann den Mikrobefehl C0170 aus, was dazu führt, daß das Bit 3 des Arbeitsbytes 1 auf eine binäre 1 gesetzt wird. Wie aus Fig. 5a und 5b ersichtlich ist, überläuft nunmehr der Platten-Lese/Schreibkopf den Kopfteil des
509825/0978
Kennzeichen-Spaltbereiches der Aufzeichnung. Zu diesem Zeitpunkt führt der Prozessor 300 den Mikrobefehl C0200 aus. Wie angegeben, bestimmt die Lese-Ausführungsroutine, ob die Forderung besteht, die Steuerung auf die Leitungs-Routine zurückzuführen, nachdem das Lesen des Zählfeldes abgeschlossen ist. Wie oben erwähnt, ist dieses Bit des Leitungs-Bytes auf eine binäre 1 gesetzt. Dies ermöglicht der RD:CKD-Leitungs-Routine zu prüfen, ob eine vollständige Aufzeichnung gelesen worden ist. Dies erfolgt durch Überprüfen der Aufnahme eines Indeximpulses. Damit kehrt der Prozessor 300, nachdem er den Teil der angegebenen Lese-Ausführungsroutine ausgeführt hat, auf die Leitungs-Routine zurück, um den Mikrobefehl A0600 auszuführen, wie dies in Fig. 9a angegeben ist. Aus diesem Teil des Betriebs kann ersehen werden, daß die Lese-Ausführungs;routine durch Überprüfen des Zustands eines einzigen Bits innerhalb des Leitungs-Bytes imstande ist, schnell zu bestimmen, was als nächstes zu tun erforderlich ist. Dies vermeidet die Forderung nach Ausführung von Mehrfachverzweigungen zufolge der Decodierung eines Befehlscodes.
Der Prozessor führt infolgedessen eine Verzweigung zu dem Inhalt des Rückführ-Adreßregisters +1 hin aus und tritt in die Routine bei A0600 ein, wie dies durch Fig. 9a veranschaulicht ist. Die B0800-Bezeichnung bezeichnet eine Verzweigung mit einer Rückführoperation. Dadurch, daß auf den Inhalt des Rückführ-Adreßregisters +1 eine Verzweigung möglich ist, ist der Prozessor sehr schnell imstande, die Steuerung auf die richtige Leitungs-Routine zurückzuführen (das ist die rufende Routine). Durch Vergleichen des gerade beschriebenen Teiles der Lese-Zähl-, Kennzeichen- und Daten-Leitungsroutine mit der Leitungs-Routine gemäß Fig. 10 werden die Ähnlichkeiten zwischen diesen beiden Feldern bemerkt.
50 9 8 25/0978
Wie aus Fig. 9a hervorgeht, führt der Prozessor 300 nunmehr den Mikrobefehl A0700 aus, der das-Leitungs-Byte aus GPR Nr. abholt und den Zustand des Bits 4 überprüft, um nämlich zu bestimmen, ob die Indexmarkierung von der Lese-Ausführungsroutine gefunden worden ist. Da. dies nicht der Fall war, bedeutet dies, daß die' Lese-Ausführungsroutine das Zählfeld der Aufzeichnung verarbeitet hat. Nunmehr führt die Leitungs-Routine den Mikrobefehl A0900 aus, um zu bestimmen, ob die Aufzeichnung in einer anderen nächsten Spur fortgesetzt wird (d.h., daß eine Überlauf-Aufzeichnung ermittelt worden ist). Zu diesem Zeitpunkt holt der Prozessor das Arbeitsbyte 2 aus dem Allzweckregister Nr. 7 ab und überprüft den Zustand des Bits 7. Da das Bit 7 als binäre 0 angenommen worden ist, führt der Prozessor sodann einen Verzweigungs-Mikrobefehl B0100 aus, wie dies in Fig. 9b angegeben ist. Dadurch wird überprüft, ob der Prozessor mehr als eine Aufzeichnung zu verarbeiten hat. Da dies nicht der Fall ist, führt der Prozessor 300 den Mikrobefehl BOI10 aus, gemäß dem das Leitungs*Byte aus GPR Nr. 3 abgeholt und das Bit 5 auf eine binäre 1 gesetzt wird. Dies bedeutet, daß der Prozessor den Betrieb auf die Übertragung der Bytes des nächsten Datenfeldes zu beenden hat, da der Prozessor 300 die Bytes von lediglich einer Aufzeichnung zu der Eingabe/Ausgabe-Steuereinrichtung hin überträgt. ·
Anschließend führt der Prozessor 300 den Mikrobefehl B0135 aus, gemäß dem das Bit 6 des Arbeitsbytes 1 überprüft wird. Da die Aufzeichnung ein Kennzeichen-Feld besitzt, ist dieses Bit eine binäre 0. Diese binäre 0 veranlaßt den Prozessor, wieder in die Lese-Ausführungsroutine bei dem Mikrobefehl C0230 einzutreten, wie dies in Fig. 9c veranschaulicht ist.
509825/0978
Bevor in die betreffende Routine eingetreten wird, führt der Prozessor einen Verzweigungs-Mikrobefehl aus, gemäß dem die Rückkehradresse des Mikrobefehls B0140 +1 in dem Rückführ-Adreßregister 1 gespeichert wird. Wenn auf der anderen Seite die Kennzeichenlänge 0 wäre, hätte der Prozessor 300 den Teil der Lese-Ausführungsroutine bei dem Mikrobefehl DO35O (siehe Fig. 9) eingeführt, gemäß dem lediglich die aus dem Datenfeld der Aufzeichnung gelesenen Bytes übertragen werden.
Aus Fig. 11c ergibt sich, daß der Prozessor 300 zuerst den Mikrobefehl C0230 ausführt, um die richtige Ausführungsroutine auszuwählen. Dies erfolgt durch Überprüfung des Zustands des Signals BNNPM10 (siehe Fig. 3f). Sodann führt der betreffende Prozessor den Mikrobefehl C0240 aus, gemäß dem er das Leitungs-Byte aus dem Allzweckregister Nr. 3 abholt und den Zustand des Bits 0 überprüft. Da das Bit 0 eine binäre 1 ist, führt der Prozessor 300 einen Eingabe/Ausgabe-Mikrobefehl aus, der die periphere Untersystem-Schnittstelle PSI für die Übertragung von Datenbytes einstellt. Es sei darauf hingewiesen, daß die Leitungs-Routine außerdem über den gerade beschriebenen Weg unter den in Fig. 9b angegebenen beiden weiteren Bedingungen abläuft. In beiden Fällen ist jedoch das Übertragungsbit "0" des Leitungs-Byte auf eine binäre 0 gesetzt. Dadurch wird die Übertragung der Kennzeichen- und Datenbytes zu der Eingabe/Ausgabe-Steuereinrichtung hin in dem Fall verhindert, daß die Eingabe/Ausgabe-Steuereinrichtung lediglich die Bytes des Zählfeldes der Aufzeichnung wünscht oder die Übertragung beendet hat (d.h., daß ein Beendigungs-Austritts-Signal von dem Prozessor 300 gespeichert worden ist - TOS =1). Auf diese Weise vermag die Leitungs-Routine die Leitungs-Byte-Bits auf externe Ereignisse hin während der
509825/0978
Übertragung zu modifizieren. Dadurch ist der Ausführungs-Routine ermöglicht, effektiv abzulaufen.
Im Zuge der weiteren Verarbeitung der Aufzeichnung ergibt sich aus Fig. 11c, daß der Prozessor 200 dann den Verzweigungs-Mikrobefehl D0100 ausführt, der bestimmt,, ob der Befehl zeitgerecht aufgetreten ist oder nicht. Diese Bestimmung erfolgt dadurch, daß der Zustand des Spalt-Zählers überprüft wird, um sicher zu sein, daß er nicht 0 ist. Unter der Annahme, daß der betreffende Zählerstand nicht 0 ist, führt der Prozessor 300 sodann den Mikrobefehl D0150 aus. Dies bewirkt, daß der Lesebefehlscode zu dem Einrichtungs-Befehlsregister und dann zu der !Einrichtung hin übertragen wird. Danach befindet sich der Prozessor 300 in der oben beschriebenen Weise im Leerlaufzustand über eine Zwei-Mikrobefehls-Schleife, wobei auf die Beendigung der Bytes-Übertragung gewartet wird, die durch Ermittelung eines Befehlszustandsendes oder einer Indexmarkierung signalisiert wird. Unter der Annahme, daß keine Indexmarkierung ermittelt worden ist, daß aber das Befehlsende festgestellt worden ist, führt der Prozessor 300 sodann den Mikrobefehl D0300 aus, gemäß dem der Adapter auf Fehler überprüft wird. Unter der Annahme, daß keine Fehler vorliegen, tritt der Prozessor 300 sodann in die die Verarbeitung des Dateiendes betreffende Routine ein. Diese Routine veranlaßt den Prozessor, das Bit 4 des Arbeitsbytes 1 auf eine binäre 1 zu setzen. Außerdem wird die Datenlänge der Aufzeichnung in den Datenzähler geladen, um die Verarbeitung des Datenfeldes zu beginnen.
Wie aus Fig. 11d hervorgeht, führt der Prozessor 300 sodann den Mikrobefehl D033Ö aus, um das Vorhandensein eines Lesefehlers zu überprüfen. Unter der Annahme, daß kein Lesefehler
509825/0978
vorliegt, führt der Prozessor 300 sodann den Mikrobefehl aus, gemäß dem der Zustand des Signals BNNPM10 überprüft wird, um die richtige Ausführungs-Routine auszuwählen. Da es sich bei der betreffenden Einrichtung um dieselbe Einrichtung handelt, die in die Übertragung einbezogen war, führt der Prozessor den Mikrobefehl DO36O aus, der den Zustand des Bits 3 des in dem Allzweckregister Nr. 3 gespeicherten Lese/Schreib-Leitungs-Bytes überprüft. Ist dieses Bit auf eine binäre 1 gesetzt, so kehrt die Lese-Ausführungs-Routine auf die rufende Routine zurück (das ist die Lese-Zähl-, Kennzeichen- und Daten-Leitungsroutine), und zwar auf die Ausführung des Verzweigungsbefehls D0500 hin. Da der 'Befehlscode die Übertragung eines Zähl-, Kennzeichen- und Datenfeldes einer Aufzeichnung angegeben hat, ist dieses Bit, wie zuvor angegeben, eine binäre 0. Daher führt der Prozessor 300 den Mikrobefehl D0380 aus, der den Zustand des Bits 0 des Leitungs-Bytes überprüft. Da dieses Bit eine binäre 1 ist, führt der Prozessor 300 sodann einen Verzweigungs-Mikrobefehl aus, um den Zustand des Bits 5 zu überprüfen. Da dieses Bit eine binäre 1 ist, führt der Prozessor 300 sodann den Eingabe/Ausgabe-Mikrobefehl aus, der die PSI-Bitstelle veranlaßt, Datenbytes des Datenfeldes zu übertragen und auf das letzte Byte hin die Übertragung zu beenden.
Anschließend führt der Prozessor 300 den Mikrobefehl E0160 aus, der ebenfalls eine Überprüfung vornimmt, um sicherzustellen, daß der B^efehl pünktlich eingetroffen ist. Da der Befehl zuvor eingetroffen ist, führt der Prozessor 300 sodann den Mikrobefehl E0180 aus, wie dies in Fig. 11e angegeben ist. Dieser Mikrobefehl sendet den Lesebefehl an die Einrichtung aus, woraufhin der Prozessor 300 dann in die den variablen Spalt betreffende Routine eintritt, um Daten bezüglich des Kopfteils der variablen Spalt-Länge in der zuvor genannten
509825/0978
Weise zu berechnen. Gleichzeitig damit führt der Prozessor die.Steuerung auf die Hardware für die Übertragung über. Auf die Berechnung hin führt der Festwertspeicher die Zwei-Mikrobefehls-Leerlaufschleife ein, wie dies zuvor beschrieben worden ist.
Am Ende der durch das Befehlsende ermittelten Übertragung führt der Prozessor 300 den Mikrobefehl E0300 aus, der von dem Mikrobefehl E0500 gefolgt wird, wenn keine Fehler vorhanden sind. Durch Ausführen des Mikrobefehls E050Q verschiebt der Prozessor 300 die Zylinder-, Spur- und Aufzeichnungsnummer zu dem Adreßregister in dem Lese/Schreib-Speicher und setzt das Bit 5 des Arbeitsbytes 1 in eine binäre 1. Dadurch wird angezeigt, daß der Platten-Lese/Schreibkopf den von den Daten bis zu dem Kopfteil reichenden Spalt einer nächsten Aufzeichnung überläuft. Der Prozessor 300 führt dann den Mikrobefehl E135O aus, um das Vorliegen von Lesefehlern zu überprüfen. Unter der Annahme, daß keine Fehler vorliegen, erfolgt eine Rückkehr zu der Lese-Zähl-Kennzeichen- und Daten-Leitungs-Routine, wie dies in Fig. 11e gezeigt ist. Dies geschieht durch Ausführen eines Verzweigungs-Mikrobefehls E13Ö0, der den Inhalt des Rückführ-Adreßregisters in das Festwertspeicher-Adreßregister lädt. Wie aus Fig. 9c hervorgeht, kehrt der Prozessor 300 auf den Mikrobefehl B0150 zurück, der dann den Prozessor 300 veranlaßt, in die die Operation beendende CPMGT-Routine einzutreten bzw. diese zu beginnen.
Aus Vorstehendem dürfte ersichtlich sein, daß die Ausführungs-Routinen in sehr wirksamer Weise unter der Steuerung der Leitungs-Bytes ausgeführt werden können. Durch die Ausnutzung unterschiedlicher Leitungs-Routinen können dieselben Aus-
509825/0978
führungs-Routinen in wirksamer Weise ausgenutzt werden. Darüber hinaus können sich dieselben Leitungs-Routinen unterschiedliche Ausführungs-Routinen teilen. Sämtliche Leitungs-Routinen teilen sich beide Typen von Ausführungs-Routinen. Der Ablauf der N4REX-Ausf ührungs-Routine, die zur Verarbeitung von Daten in Parallelform benutzt wird, ist in Fig. 12a und 12b veranschaulicht.
Im Vorstehenden ist ein peripheres System veranschaulicht, welches die Verarbeitung von Befehlen erleichtert, durch die Einrichtungen mit unterschiedlichen Betriebseigenschaften erfaßt sind. Gemäß der vorliegenden Erfindung enthält das Untersystem einen mikroprogrammierbaren peripheren Prozessor, der einen Mehrzweckregisterspeicher und einen Steuerspeicher für die Speicherung von zumindest zwei Klassen oder Typen von Mikroprogramm-Routinen aufweist. Die erste Klasse umfaßt Leitungs-Mikroprogrammroutinen für jeden der Befehle. Die zweite Klasse umfaßt Ausführungs-Mikroprogrammroutinen für jede der unterschiedliche Eigenschaften aufweisenden Einrichtungen.
Der periphere Prozessor, der unter der Leitung der Leitungs-Routinen arbeitet, und zwar durch Ausführung von Tests auf verschiedene Bits hin, die in den Leitungs-Bytes enthalten sind, welche in dem Mehrzweckregisterspeicher enthalten sind, wählt die in Frage kommenden Ausführungs-Routinen aus. Diese Anordnung bringt den Vorteil einer erhöhten Geschwindigkeit durch Vereinfachung und Verringerung der Anzahl von Prüfoperationen mit sich, die von dem peripheren Prozessor gemäß der vorliegenden Erfindung ausgeführt werden müssen. Darüber hinaus vermeidet die Anordnung die Forderung nach speziellen Verzweigungs-Mikrobefehlen oder nach Mikrobefehlen irgendeines
50 9 8 25/0978
anderen Typs sowie nach komplizierten Verzweigungsschaltungen.
Weitere Vorteile des Systems gemäß der vorliegenden Erfindung liegen darin, daß das System die Hinzufügung von neuen Einrichtungstypen und die Hinzufügung von neuen Befehlen erleichtert. Im Falle der Hinzufügung eines neuen Einrichtungstyps (das ist eine Einrichtung mit Eigenschaften, die unterschiedlich sind zu den Eigenschaften der an dem Prozessor bereits angeschlossenen Einrichtungen - z.B. unterschiedliche Datenformate) ist lediglich eine neue einrichtungsspezifische Ausführungs-Routine, die für die betreffende Einrichtung maßgeschneidert ist, erforderlich, um in den Steuerspeicher einbezogen zu werden. Die neue Ausführungs-Routine teilt sich dann die verschiedenen Leitungs-Routinen. Wenn ein neuer Befehl hinzugefügt wird, erfordert dies die Einbeziehung einer neuen Leitungs-Routine in den Steuerspeicher. Weitere Vorteile der vorliegenden Erfindung dürften für den Fachmann ohne weiteres ersichtlich sein.-
Um eine Überlastung der Beschreibung mit Dingen zu vermeiden, die im Wissen des Fachmanns sind, ist eine Blockdiagramm-Darstellungsweise gewählt worden, wobei bezüglich des jeweiligen Blocks eine detaillierte funktioneile Beschreibung gegeben ist und wobei die Schaltungen, die der jeweilige Block darstellt, speziell angegeben worden sind. Der jeweilige Ingenieur ist dabei frei, Elemente und Bauelemente, wie Flipflop-Schaltungen, Schieberegister, etc. auf Grund des eigenen Wissens oder aus Standart-Bezugsquellen, wie sie oben angegeben worden sind, auszuwählen.
Es sei ferner darauf hingewiesen, daß die genauen Codierungsmuster für sämtliche Mikrobefehle hier nicht angegeben worden
50 98 25/0978
sind, da es dem Ingenieur freisteht, alternative Formen der Codierung auszuwählen. Bezüglich weiterer Einzelheiten und eines Eindringens, in die Techniken und Ableitung einer derartigen Codierung sowie zur Bereitstellung einer zusätzlichen, das System betreffende Hintergrundinformation sei 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, hingewiesen. Zum Zwecke einer leichteren Bezugnahme sind in einer nachfolgenden Anhangtabelle bestimmte Ausdrücke definiert, die im Zuge der Beschreibung einer bevorzugten Ausführungsform der vorliegenden Erfindung benutzt worden sind.
Abschließend sei bemerkt, daß durch die Erfindung ein mikroprogrammierter peripherer Prozessor geschaffen ist, der einen eine Vielzahl von Mikroprogrammen enthaltenden Festwertspeicher und eine Zwei-Wege-Verzweigungsanordnung zusätzlich enthält, um eine Rückführ-Adressenregisterspeicherung vorzunehmen. Darüber hinaus enthält der periphere Prozessor eine Anordnung zur Speicherung von einem oder mehreren Informationssteuerbytes. Diese Bytes enthalten ein Lese/Schreib-Leitungs-Byte, das so codiert ist, daß es die Operationen angibt, die von unterschiedlichen Arbeits-Mikroprogrammen auszuführen sind, welche von dem Prozessor für den angegebenen Befehlstyp durchgeführt werden. Die Codierung dieses Steuerbytes wird anfänglich durch den bestimmten Befehlscode festgelegt, · der den Typ der Operation angibt, welche der Prozessor auszuführen hat. Während der Ausführung des Befehls stellt der Prozessor eine Kommunikation zwischen den Leitungs-Routinen und den Ausführungs-Routinen her, und zwar durch Bezugnahme auf das Leitungs-Byte und den Rückführ-Registerspeicher.
509825/0978
Anhangtabelle
Verzeichnis von Ausdrücken
Ausdruck Ersatzspur
Byte
Weg mit Byte-Breite
Definition
Eine Ersatzspur ist eine Spur, die Daten enthält, welche von einer defekten Hauptspur her in eine neue Stellung gebracht worden sind.
Die Grundeinheit der Information, die von dem Massenspeicher-Untersystem (MSS) verarbeitet wird. Ein Byte enthält bis zu acht Informationsbits, deren jedes auf den Verknüpfungswert 1 (ein) oder auf den Verknüpfungswert Null (aus) gesetzt werden kann, um irgendeine Kombination von 256 Kombinationen darzustellen. Dps Bit Null ist als das am weitesten links stehende Bit oder als Bit höchster Wertigkeit definiert, und das Bit 7 ist das am weitesten rechts stehende Bit oder das Bit niedrigster Wertigkeit.
Informationsbytes, die über die Schnittstelle übertragen werden, bestehend aus acht Informationsbits zuzüglich einem Bit für ungerade Parität. Die Information ist so zusammengestellt, dass das Bit Null stets das Bit höchster Wertigkeit ist. Paritätsbit ist 1, wenn zweier11 ϊ-Sits
in den entsprechenden acht Informationsbits geradzahlig ist; es ist Null, wenn die Anzahl der 1-Bits ungeradzahlig ist. Dies bedeutet, dass eine ungerade bzw.
98 25/0978
Ausdruck
Zentraler Prozessor-Komplex (CPC)
Kanalbefehls-Eintrag (CCE)
Kanalateuerwort (CCW) .
Definition
ungeradzahlige Parität bezüglich der acht Informationsbits erzeugt wird.
Der zentrale Prozessor-Komplex besteht
die aus jenen Einheiten, die für/Adressierung
des Hauptspeichers, die Wiederauffindung oder Speicherung einer Information, für die Rechen- und Verknüpfungsverarbeitung von Daten, für die Polgesteuerung von Befehlen in der gewünschten Reihenfolge und für die Auslösung der Kommunikation zwischen Speichereinrichtungen und externen Einrichtungen verwendet werden. Di'e Haupteinheiten des zentralen Prozessor-Komplexes sind die Zentraleinheit (CPU), der Hauptspeicher und die Eingäbe/Ausgabe-Steuerdnrichtung (IOC).
Der Kanalbefehlseintrag ist der elementare Baustein von Kanalprogrammen. Er besteht aus zwei Kanalsteuerworten und kann einen Befehl, ein Kennzeichen, eine Zählinformation, eine Verzweigungsinforraation, ein Kennzeichen oder Pufferadressen und ein Befehlserweiterungsfeld umfassen. Die Adresse des Kanalbefehlseintrags ist die Adresse ihres ersten Kanalsteuerwortes·
Ein Känalsteuerwort ist ein 32-Bit-(4-Byte)-Wortf das eine Unterteilung eines Kanalbefehlseintrags 1st.
509825/0978
Ausdruck
.2459956 Definition
Kanalprograimn (CP) Ein Kanalprogramm ist ein vollständiger
Satz von Befehlen und Adresseninformation zur Ausführung einer Eingabe/Ausgäbe-Operation. Er besteht aus zwei Kanalbefehlseintragen, die das Kanalsteuerwort ausmachen.
Zählfeld Das erste PeId jeder Aufzeichnung. Das
Zählfeld beschreibt die Kennzeichen- und Datenfelder derselben Aufzeichnung.
Zyklischer Prüfcode
Zylinder
Ein zyklischer Prüfcode wird für die Fehlerermittlung verwendet, wenn eine Information in einem Feld gespeichert bzw, aus einem PeId herausgeführt wird. Wenn Daten aufgezeichnet werden, ist der zyklische Prüfcode arithmetisch von der Information codiert, die in dem PeId unterzubringen ist; er wird als Teil des Feldes aufgezeichnet. Wenn ein Feld von dem Speicherträger gelesen wird, wird der zyklische Prüfcode neu berechnet und mit dem zyklischen Prüfcode verglichen, der als Teil des Feldes aufgezeichnet ist. Ist der Vergleich nicht erfolgreich, so wird ein Fehlerzustand angezeigt. Bei bestimmten Einrichtungen wird der zyklische Prüfcode durch einen Fehlerermittlungsund Korrekturcode ersetzt. Sämtliche Spuren, die für die Datenübertragung ohne zusätzliche Bewegung des Zugriffsmechanismus verfügbar sind. Jeder Zylinder in einer Speichereinrichtung wird durch eine eindeutige Zylinderadresse identifiziert; er gibt eine bestimmte
982 5/097 8
ORIGINAL
Ausdruck Datenfeld
Unbrauchbare Spur
Feld
Hausdressenfeld Definition
Position des Satzes der lese/Schreibköpfe auf der jeweiligen Oberfläche der Einrichtung an.
Dasjenige Feld, das die Information enthält, welche durch die Zähl- und Kennzeichenfelder der Aufzeichnung identifiziert ist. Das Datenfeld wird auf dem Speicherträger unmittelbar auf das Kennzeichenfeld folgend aufgezeichnet. Wenn ein Kennzeichenfeld nicht existiert, folgt das Datenfeld dem Zählfeld. Eine unbrauchbare Spur ist eine Spur, von der eine aufgezeichnete Information nicht in zuverlässiger Weise erhalten werden kann. Dieser Zustand ist normalerweise ein Ergebnis eines Oberflächenmangels und auf einen kleinen Bereich der Spurfläche lokalisiert.
Eine Gruppe von in Beziehung zueinander stehenden abhängigen Bytes. Vier Typen von Feldern sind in dem Massenspeicher-Prozessor definiert: Ein Hausadressenfeld, ein Zählfeld, ein Kennzeichenfeld und ein Datenfeld (Definitionen folgen)· Ein Hausadressenfeld folgt in der jeweiligen Spur der Indexmarkierung und identifiziert den physikalischen Ort der Spur innerhalb der Speichereinrichtung; es enthält eine Information, die den' Zustand der Spur beschreibt. Die erste in der Spur aufgezeichnete Aufzeichnung beginnt an einer Indexmarkierung, wenn ein Hausadressenfeld nicht existiert.
509825/0978
Ausdruck
Indexmarkierung
Eingabe/Ausgabe-Steuereinrichtung (IOC)
Eingabe/Ausgabe-Steuereinrichtungs- Befehl
Kennzeichenfeld
Definition
Eine Markierung, die den Beginn einer Spur signalisiert. Sämtliche Spuren auf einem Zylinder sind durch, dieselbe Indexmarkierung synchronisiert.
Eine Eingabe/Ausgabe-Steuereinrichtung ist die Hauptrahmen-Hardware/Firmenware, die während der Ausführung eines Kanalprogramms betroffen ist. Sie kann mehrere physikalische Kanäle steuern. Im vorliegenden Pail ist diejenige Einheit, die an der Hauptrahmenseite der peripheren Untersystemschnittstelle angeschlossen
ist, als Eingabe/Ausgabe-Steuereinrich-
die tung bezeichnet. Andere Ausdrücke,/mit
derselben Bedeutung benutzt worden sind, sind Zentraleinheit, Kanalsteuereinheit, Kanal, Eingabe/Ausgabe-Prozessor, etc..
Ein Eingabe/Ausgabe-Steuereinrichtungs— Befehl ist ein Befehl, der von der Eingabe /Ausgabe-Steuereinrichtung an die Prozess-Steuereinheit PCU ausgesendet wird. Dieser Befehl ist nicht Teil des Kanalprogramms, kann aber auf die Kanalprogramm-Aktivität bezogen sein (z.B. Trennen). Das Kennzeichenfeld ermöglicht die Suche nach der Identifizierungsinformation um eine Aufzeichnung. Die Identifizierungsinformation ist in dem Kennzeichenfeld gespeichert. Ist sie vorhanden, so folgt das Kennzeichenfeld unmittelbar dem Aufzeichnungezählfeld.
509825/0978
Ausdruck
Leitungszustände
Verknüpfungskanal
(LG)
Definition
Eine Schnittstellen-Signalleitung, die sich im Ein-Zustand befindet bzw. ein hohes Potential führt, wird als verknüpfungsmässig den 1-Zustand führend angesehen. Eine Leitung, die sich im Null-Zustand befindet oder ein niedriges Potential führt, wird als verknüpfungsmässig den Null-Zustand führend angesehen. Der Potentialanstieg auf einer Leitung bedeutet einen Übergang vom Null-Zustand zum 1-Zustand, während eine Potentialabsenkung auf einer Leitung bedeutet, dass ein Übergang vom 1-Zistand auf den Null-Zustand erfolgt.
Das Eingabe/Ausgabe-System basiert auf dem Konzept von Verknüpfungskanälen. Der Zugriffsweg von der Zentraleinheit zu der Einrichtung zum Zwecke der Ausführung einer Eingabe/Ausgabe-Operation wird als Kanal bezeichnet. Der Kanal besteht aus Eingabe/ Ausgabe-Steuereinrichtungen, einer Hardware-Verbindung zwischen der Eingabe/Ausgabe-Steuereinrichtung und der Prozess-Steuereinheit, die als physikalischer Kanal und als Verknüpfungskanal identifiziert sind. Der Verknüpfungskanal ist in seiner elementarsten Form die Zusammenstellung von Einrichtungen in einem peripheren Steuereinheit-Untersystem, das für die Ausführung einer Eingabe/Ausgabe-Operation benötigt wird, wie für das Schreiben, Lesen, etc..Eine Eingabe/Ausgäbe-Operation ist durch ein Kanalprogramm definiert· Ein Verknüpfungskanal kann
9825/097 8
Ausdruck Magazin
Definition
lediglich jeweils ein aktives Kanalprogrannn besitzen. Die Verknüpfungskanalnummern werden von dem Kanal für die Ordnung der Speicherung von Parametern benutzt, die zum Festhalten einer Anzahl von Kanalprogramraen benötigt werden, welche gleichzeitig arbeiten. Insofern erfolgt die Software-Verfügbarkeit einer Eingabe/ Ausgabe-Operation über einen Verknüpfungs-Kanal (vom Standpunkt der Software aus werden Einrichtungen einer Eingabe/Ausgabe-Steuereinrichtungs-Zahl, einer physikalischen Kanal-Zahl und einer Verknüpfungskanal-Zahl für Auswahlzwecke zugeordnet) Eine Verknüpfungskanalnummer bzw. -zahl identifiziert explizite eine Einrichtung. Ein Kanalprogramm ist auf eine Einrichtung beschränkt. Einrichtungen werden Verknüpfungskanalnummern zur System-Bildungs-Zeit zugeteilt oder dann, wenn die Einrichtung dem System hinzugefügt wird. Dabei kann mehr als ein Kanal pro Einrichtung vorgesehen sein. Ein Verknüpfungskanal wird von dem Zeitpunkt an als aktiv angesehen, zu dem von der Eingabe/Ausgabe-Steuereinrichtung ein Bedienungscode "löse neues Kanalprogramm aus" empfangen wird, und zwar bis zur Beendigung durch eine Ereignis-Meldung an die Software.. Eine Gruppe von Spuren und/oder Zylindern, die individuell entfernbar sind. Wenn mehrere Magazine in einer Einrichtung existieren, kann lediglich ein Magazin
9 8 25/0978
Ausdruok
Definition Mehrspuroperation
Periphere Einrichtung
Peripherer Prozessor
zu einem Zeitpunkt in Bezug auf den Lese/ Schreib-Lösch-Meohaniemus in Stellung gebracht werden.
Die Fähigkeit des Massenspeicher-Untersystems in dem Fall, dass es mit bestimmten Eingabe/Ausgabe-Befehlen in bestimmten Betriebsarten versorgt wird, automatisch auf aufeinanderfolgende Spuren desselben Zylinders umzuschalten und die Operation in bzw. auf der neuen Spur fortzuaetzen.
Eine periphere Einrichtung ist eine einzelne adressierbare Datenquelle oder Datensenke. Die periphere Einrichtung kann eine Einheit sein, die ein physikalisches Medium steuert (zum Beispiel einen Plattenantrieb, Bandantrieb) oder ein elektronisches Medium (zum Beispiel ein Kommunikationskanal).
Ein peripherer Prozessor (zum Beispiel Massenspeicher-Prozessor (MSP)) ist diejenige Einheit, die an der peripheren Seite der peripheren Untersystem-Schnittstelle PSI angeschlossen ist, welche die periphere Einrichtung steuert und betreibt. Andere Namen mit ähnlicher Bedeutung sind periphere Steuereinheit, periphere Steuereinrichtung, mikropror·. grammierte periphere Steuereinrichtung (MPC), Mehrleitungs-Steuereinrichtung (MLC)1 etc.*
509825/097 8.
Ausdruck
Peripheres Unter-System
Physikalischer
Kanal
Primäre Spur Lesen
Definition
Ein peripheres Untersystem (zum Beispiel das Massenspeicher-Untersystem MSS) besteht aus solchen Funktionseinheiten, die ausserhalb der zentralen Verarbeitungs- und Hauptspeichereinrichtungen liegen, welche den Betrieb und die Steuerung der peripheren Einrichtungen in einem System benötigen. Ein peripheres Untersystem kann eine oder mehrere periphere Untersystem-Schnittstellen, eine oder mehrere periphere Steuereinheiten und eine oder mehrere periphere Einrichtungen enthalten.
Ein physikalischer Kanal ist die Hardware-Verbindung zwischen der Eingabe/Ausgabe-Steuereinrichtung und der peripheren Steuereinheit. Diese Hardware-Verbindung besteht aus einer peripheren Untersystem-Schnittstelle und den Einrichtungen am jeweiligen Ende der peripheren Untersystem-Schnittstelle, welche Einrichtungen der betreffenden Schnittstelle zur Verfügung stehen.
Eine primäre Spur ist die Ursprungsspur, in der Daten gespeichert worden waren.
Das Lesen gibt die Richtung des Dialog-Flusses an (von der Zentraleinheit zur Eingabe/Ausgabe-Steuereinrichtung); das heisst, dass eine Eingabeoperation vorliegt.
509825/0978
ORIGINAL INSPECTED
Ausdruck
Aufzeichnung
Aufzeichnunge-Überlauf
Aufzeiohnungs-Segment
Bedlenungsoode Definition
Sine Gruppe von in Beziehung zueinander stehenden Feldern, Eine Aufzeichnung besteht aus einem Zählfeld, einem Kennzeichen· JPeId, das unmittelbar auf sein mit ihm 4n Beziehung stehendes Zählfeld auf dem Speichermedium folgt, und aus einem Datenfeld, welches unmittelbar seinem mit ihm in Beziehung stehenden Zähl- und Kennzeichenfeld folgt. Die Länge des Kennzeichenfeldes kann mit Null angegeben sein; in diesem Fall besteht eine Aufzeichnung lediglich aus einem Zählfeld und einem Datenfeld.
Ein Aufzeichnungs-ttberlauf ist eine Fähigkeit, die eine Verknüpfungs-Aufzeichnung in mehr als einer Spur aufzuzeichnen gestattet. Eine derartige Aufzeichnung ist als Überlauf-Aufzeichnung bekannt. Ein Teil einer Überlauf-Aufzeichnung, die in einer Spur geschrieben wird, wird Aufzeichnungs-Segment genannt. Die meisten in dem Massenspeicher-Untersystem bezeichneten Funktionen behandeln die gesamte Verknüpfungs-Aufzeichnung als wäre sie eine einzige physikalische Aufzeichnung.
Ein Segment einer Überlauf-Aufzeichnung - siehe Aufzeichnungs-Überiauf· Ein Bedienungscode ist ein 8-Bit-Befehl (zuzüglich Parität), der über die periphere Untersystem-Schnittstelle von dem peri-
25/097 8
Ausdruck
Spur
Schreiben
Definition
pheren Prozessor zur Eingabe/Ausgabe-Steuereinrichtung übertragen wird und der für die Bezeichnung der folgenden Informationsübertragung über die Schnittstelle sowie für die Auslösung der Aktivität in der Eingabe/Ausgabe-Steuereinrichtung benutzt wird.
Einer der konzentrischen Aufzeichnungsbereiche auf einer Plattenoberfläche. Jede Spur in bzw. auf einem Zylinder ist durch eine - eindeutige Spuradresse identifiziert, die den in Präge kommenden lese/Schreib-Kopf angibt, der bei der Bezugnahme der Einrichtung zu benutzen ist. '
Das Schreiben gibt die Richtung des Dialog-Flusses (von der Eingabe/Ausgabe-Steuereinrichtung zu dem peripheren Prozessor) an, das heisst, dass eine Ausgabeoperation vorliegt.
509825/097 8

Claims (22)

  1. Patentansprüche
    /iy Prozessor mit Hardware-Einrichtungen für die bedarfsweise Übertragung von Daten zur Ausführung von unterschiedlichen Arten von Befehlen, umfassend zumindest eine periphere Einrichtung, die mit dem Prozessor verbunden ist, der ein Mikroprogramm-Steuersystem enthält, dadurch gekennzeichnet, daß das Mikroprogramm-Steuersystem (300) eine adressierbare Speichereinrichtung (304-2) mit einer Vielzahl von Speicherplätzen enthält, daß zumindest eine Gruppe der in einer Vielzahl vorgesehen Speicherplätze für die Speicherung von Mikrobefehlen einer ersten Routine ausgenutzt ist, welche zur Prozessor-Leitung im Zuge der Ausführung von Operationen ausgenutzt sind, die sich auf einen Typ der Befehle beziehen, daß die genannte erste Routine einen Mikrobefehl enthält, der ein codiertes Steuerbyte und
    für
    Mikrobefehle einer zweiten Routine/eine solche Konditionierung der Prozessor-Hardwareeinrichtungen aufweist, daß jene Operationen entsprechend bestimmten Eigenschaften der betreffenden einen peripheren Einrichtung für die Ausführung der durch das Steuerbyte angegebenen Operationen ausgeführt werden, daß eine Registerspeichereinrichtung (314) mit der Speichereinrichtung verbunden ist und zumindest ein Informationssteuerbyte zu speichern imstande ist, daß mit der Speichereinrichtung eine Verzweigungssteuereinrichtung (304-20, 304-28, 304-30, 304-34, 304-36) verbunden ist, die auf für den betreffenden einen Befehlstyp kennzeichnende Signale hin die Speichereinrichtung veranlaßt, eine Verzweigung zu dem betreffenden einen Mikrobefehl hin vorzunehmen, derart, daß die betreffende Speichereinrichtung eine Bit-Darstellung des genannten Steuerbytes speichert, und daß die Verzweigungssteuer-
    509825/0978
    einrichtung Schaltungsanordnungen aufweist, die durch bestimmte, in dem zweiten Satz von Mikrobefehlen enthaltene Mikrobefehle veranlaßt werden, auf das genannte Steuerbyte zum Zwecke der Überprüfung der darin enthaltenen Bits Bezug zu nehmen, derart, daß diejenigen Operationen bestimmt werden, die von den-Hardwareeinrichtungen in Verbindung mit der Übertragung von Daten auszuführen sind, die für die Ausführung des betreffenden einen Befehlstyps erforderlich sind.
  2. 2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Verzweigungssteuereinrichtung ferner eine mit der Speichereinrichtung verbundene Rückführ-Registereinrichtung enthält und daß mit der Speichereinrichtung und der genannten Registereinrichtung eine Verzweigungsschaltungsanordnung verbunden ist, die auf das Auftreten eines weiteren Mikrobefehls bzw. Mikrobefehlstyps eine laufende Adresse um 1 vergrößert und diese vergrößerte Adresse in die Rückführ-Registerspeichereinrichtung einspeichert und die betreffende Speichereinrichtung veranlaßt, eine Verzweigung zu einem zweiten Satz von Mikrobefehlen hin auszuführen.
  3. 3. Prozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Verzweigungssteuereinrichtung eine mit der Speichereinrichtung und der Registereinrichtung verbundene Steuereinrichtung enthält, die auf eine erfolgreiche Beendigung des zweiten Satzes von Mikrobefehlen hin den genannten weiteren Mikrobefehl bzw. Mikrobefehlstyp an einer festgelegten Stelle innerhalb der zweiten Routine ausführt, derart, daß die Speichereinrichtung veranlaßt wird, auf den Mikrobefehl der ersten Routine Bezug zu nehmen, der durch den Adresseninhalt der Rückführ-Registerspeichereinrichtung angegeben ist.
    509825/0978
  4. 4. Prozessor nach Anspruch 2, dadurch gekennzeichnet, daß der genannte weitere Mikrobefehlstyp ein codierter Verzweigungs-Mikrobefehl ist, der folgende Feldbereiche enthält:
    Einen Operationscode-Peldbereich, der so codiert ist, daß eine unbedingte Verzweigungsoperation angegeben ist; einen Verzweigungsadressen-Feldbereich, der so codiert ist, daß ein Speicherplatz angegeben ist, der dein Anfang der zweiten Routine-Mikrobefehle entspricht; einen Vorverzweigungs-Feldbereich, der so codiert ist, daß er die Speicherung einer Rückkehradresse angibt; und einen Verzweige-zur-Adresse-Bedingungs-Feldbereich, der so codiert ist, daß er einen Speicherplatz angibt, der dem genannten Verzweigungsadressen-Feldbereich entspricht.
  5. 5. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die genannte eine periphere Einrichtung eine Speichereinrichtung ist, daß die genannten Mikrobefehle der ersten Routine eine Leitungs-Routine aus einer Anzahl von Leitungs-Routinen angibt, die den Prozessor im Zuge der Ausführung jener Operationen leiten, die sich auf die Interpretierung der verschiedenen Typen von Befehlen bezüglich des Lesens oder Schreibens einer Information aus bzw. in eine periphere Einrichtung beziehen, und daß die Mikrobefehle der zweiten Routine eine von zwei Klassen von Ausführungs-Routinen definieren, die die Hardware-Einrichtungen hinsichtlich der Formatbildung der gespeicherten Information, des Übertragungstyps und der Übertragungsfrequenz der betreffenden einen Einrichtung konditionieren.
  6. 6. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß der genannte eine Mikrobefehl ein Verknüpfungs-Mikrobefehl ist,
    50 9 8 25/0978
    der zumindest einen Operationscode-Feldbereich und einen Konstanten-Feldbereich entsprechend dem Steuerbit enthält und der so codiert ist, daß er ein bestimmtes Bitmuster enthält, das speziell für den genannten einen Befehlstyp vorgesehen ist, daß die Speichereinrichtung eine Decoderanordnung'enthält, die in der Vielzahl der Speicherplätze' gespeicherte Mikrobefehle decodiert, und daß die Decoderanordnung auf den Operationscode-Feldbereich des genannten einen Mikrobefehls der Verknüpfungs-Mikrobefehle hin Signale erzeugt, durch die eine dembestimmten Bit-Muster entsprechende Bit-Darstellung in die Speiehereinrichtung geladen wird.
  7. 7. Prozessor nach Anspruch 6, dadurch gekennzeichnet, daß bestimmte Mikrobefehle den Verzweigungs-Mikrobefehlen entsprechen, deren jeder einen Verzweigungs-Ein-Zustand auf der Basis des Zustande eines bestimmten Bits des Steuerbytes festlegt, und daß die Schaltungsanordnung durch die Verzweigungs-Ein-Zustands-Mikrobefehle veranlaßt wird, die betreffenden Operationen und diejenigen Bereiche der zweiten Routine-Mikrobefehle zu bestimmen,, die für die Ausführung durch die Hardware-Einrichtungen für einen erfolgreichen Abschluß des genannten einen Befehlstyps erforderlich sind.
  8. 8. Prozessor nach Anspruch 6, dadurch gekennzeichnet, daß das genannte bestimmte Bitmuster ein Leitungs-Byte mit einer Vielzahl von Bits enthält, die entsprechend folgendem Codeplan codiert sind:
    Ein erstes Bit ist so codiert, daß es angibt, wann die Prozessor-Hardware-Einrichtungen eine Information zwischen der genannten einen peripheren Einrichtung und einer
    509825/0978
    - '■' ι-*:..■:■?',■ :'„■.:■* -„■
    Speichereinrichtung zu übertragen haben; ein zweites Bit ist so codiert, daß es angibt, wann die . Prozessor-Hardware-Einrichtungen Fehler in der Information, die von der genannten einen Einrichtung her gelesen wird, unberücksichtigt zu lassen haben;
    dritte und vierte Bits sind so codiert, daß sie angeben, wann die zweite Routine auf die Beendigung der Verarbeitung von unterschiedlichen bestimmten Teilen der genannten Information zurückzukehren hat;
    ein fünftes Bit ist so codiert, daß es angibt, wann die Hardware-Einrichtungen der ersten Routine den Zustand zu signalisieren haben, der sich aus den Operationen ergibt, die von den Hardware-Einrichtungen während der Durchführung der zweiten Routine ausgeführt werden, und ein sechstes Bit ist so codiert, daß es angibt, wann die Prozessor-Hardware-Einrichtungen die Datenübertragung zu beenden haben.
  9. 9. Prozessor nach Anspruch 8, dadurch gekennzeichnet, daß durch den Zustand des genannten dritten Bits festgelegt ist, wann die genannte zweite Routine die Steuerung auf die erste Routine nach erfolgter Verarbeitung eines ersten bestimmten Teiles der genannten Information zurückzuführen hat, und daß durch den Zustand des genannten vierten Bits angegeben ist, wann die zweite Routine die Steuerung auf die erste Routine in dem Fall zurückzuführen hat, daß diese bereit ist, mit der Verarbeitung eines zweiten bestimmten Teiles der genannten Information ζμ beginnen.
  10. 10. Prozessor nach Anspruch 9, dadurch gekennzeichnet, daß die genannte eine periphere Einrichtung eine sich drehende Magnetspeichereinheit ist, die eine Vielzahl von Datenaufzeichnungen längs einer Vielzahl von kreisförmigen Spuren
    509825/0978
    zu speichern gestattet, daß jede Aufzeichnung normalerweise einen Zähl-Feldteil, einen Kennzeichen-Feldteil und einen Daten-Feldteil aufweist und daß der genannte eine Teil der bestimmten Teile der Information einem Zähl-Feldteil einer der in einer Vielzahl vorgesehenen Datenaufzeichnungen entspricht, während der genannte zweite bestimmte Teil der·genannten Information einem Daten-Feldteil einer der in einer Vielzahl vorgesehenen Datenaufzeichnungen entspricht.
  11. 11. Prozessor nach Anspruch 10, dadurch gekennzeichnet, daß der genannte eine Befehlstyp ein Lese-Befehlstyp ist, der das Auslesen der Zähl-, Kennzeichen- und Datenteile bzw. -bereiche der betreffenden einen Datenaufzeichnung festlegt, und daß das erste Bit bis sechste Bit des Leitungs-Bytes anfänglich als 101000 codiert ist.
  12. 12. Prozessor nach Anspruch 10, dadurch gekennzeichnet, daß der eine Befehlstyp ein Befehlscode-Byte enthält, das so codiert ist, daß es die Verzweigungssteuereinrichtung veranlaßt, die Speichereinrichtung eine Verzweigung zu der genannten ersten Routine hin ausführen zu lassen, die das bestimmte Muster des Leitungs-Bytes auswählt, welches derart codierte Bits enthält, daß eine Angabe darüber erfolgt, wie jene Teile der betreffenden einen Datenaufzeichnung von den Prozessor-Hardware-Einrichtungen zu verarbeiten sind.
  13. 13. Prozessor nach Anspruch 9, dadurch gekennzeichnet, daß er mit einer Vielzahl von sich drehenden Speichereinrichtungen verbunden ist, die unterschiedliche Datenträger-Formateigenschaften besitzen, daß die adressierbare Speichereinrichtung eine Vielzahl von zweiten Mikrobefehls-Routinen
    509825/0 9 78
    enthält, deren jede Mikrobefehle erhält, die die Hardware-Einrichtungen veranlassen, den genannten einen Befehlstyp auszuführen, der eine bestimmte Einrichtung der genannten Einrichtungen erfaßt, die festgelegte Datenträger-Formateigenschaften besitzen, daß die Verzweigungssteuereinrichtung die Speichereinrichtung veranlaßt, eine Verzweigung zu der genannten ersten Routine hin vorzunehmen, derart, daß das Steuerbyte abgeholt und durch die erste Routine die Speichereinrichtung veranlaßt wird, auf einen ersten Mikrobefehl der zweiten Routinen-Mikrobefehle Bezug zu nehmen, und daß die genannte eine Routine- der zweiten Routinen die Verzweigungssteuereinrichtung veranlaßt, für die Ausführung eine der zweiten Routinen in Übereinstimmung mit den festgelegten Datenträger-Formateigenschaften derjenigen Einrichtung auszuwählen, die in die Ausführung des genannten einen Befehls einbezogen ist.
  14. 14. Prozessor nach Anspruch 9, dadurch gekennzeichnet, daß die adressierbare Speichereinrichtung eine Vielzahl von ersten und zweiten Routinen, jeden der ersten Sätze von Mikrobefehlen für die Ausführung eines bestimmten Befehlstyps und an einer bestimmten Stelle einen Mikrobefehl enthält, der so codiert ist, daß er ein bestimmtes Leitungs-Byte-Bitmuster enthält, welches einem in Frage kommenden Mikrobefehlssatz der genannten zweiten Sätze von Mikrobefehlen anzeigt, welche bestimmten Operationen für den betreffenden bestimmten Befehlstyp auszuführen sind, der durch einen der genannten ersten Befehlssätze durchgeführt wird.
  15. 15. Prozessor nach Anspruch 14, dadurch gekennzeichnet, daß die ersten Sätze von Mikrobefehlen der genannten ersten
    509825/0978
    Routinen eine Anzahl von Lese-Leitungs-Routinen und Schreib-Leitungs-Routinen enthalten, daß die Verzweigungssteuereinrichtung durch Signale, die kennzeichnend sind für den betreffenden Befehlstyp, veranlaßt werden, die Speichereinrichtung eine Bezugnahme auf eine entsprechende Leitungs-Routine der genannten Lese- und Schreib-Leitungs-
    zu lassen
    Routinen aus führen/, und daß die genannten zweiten Sätze
    von Mikrobefehlen zumindest eine gemeinsame Lese-Ausführungs-Routine und eine gemeinsame Schreib-Ausführungs-Routine enthalten, durch welche Routine die Hardware-Einrichtungen veranlaßt werden, Lese-Operationen bzw. Schreib-Operationen in der Weise auszuführen, wie sie durch das Leitungs-Byte-Bitmuster festgelegt ist, auf das von der betreffenden einen" Leitungs-Routine Bezug genommen ist.
  16. 16. Peripheres Verarbeitungssystem mit einem mikroprogrammierbaren Eingabe/Ausgabe-Prozessor, insbesondere nach einem der Ansprüche 1 bis 15» unter Verwendung von Hardware-Einrichtungen für die Ausführung einer Vielzahl von unterschiedlichen Befehlen sowie für die Steuerung des Betriebs einer Vielzahl von Eingabe/Ausgabe-Speichereinrichtungen, die unterschiedliche Datenträger-Formateigenschaften besitzen, dadurch gekennzeichnet, daß ein adressierbarer Steuerspeicher (304-2) mit einer Vielzahl von Speicherplätzen vorgesehen ist, daß Gruppen der betreffenden Speicherplätze zumindest zwei erste und zweite Klassen von Mikroprogramm-Routinen speichern, daß jede der Mikroprogramm-Routinen der genannten ersten Klasse einen ersten Mikrobefehlstyp mit einem Operationscodefeld und einem Konstantenfeld enthält, . welches so codiert ist, daß es ein bestimmtes Bitmuster aufweist,
    509825/0978
    durch das Operationen festgelegt werden, die während der Ausführung des betreffenden einen Befehlstyps auszuführen sind, daß jede Mikroprogramm-Routine der zweiten Klasse von Mikroprogramm-Routinen Mikrobefehle enthält, die Operationen angeben, welche die Ausführung einer ersten oder einer zweiten Gruppe von unterschiedlichen Befehlstypen durch eine der in einer Vielzahl vorgesehenen Eingabe/Ausgabe-Speichereinrichtungen freigeben, welche Speichereinrichtung eine bestimmte Eigenschaft der unterschiedlichen Datenträger-Formateigenschaften besitzt, daß mit dem Steuerspeicher eine Decodereinrichtung (304-38, 304-40) verbunden ist, die Steuersignale auf verschiedene Mikrobefehle hin zu erzeugen gestattet, daß mit dem Steuerspeicher eine Mehrzweckregisterspeichereinrichtung (314) verbunden ist, daß mit der Mehrzweckregistereinrichtung eine Rechen- und Verknüpfungseinheit (316) verbunden ist, die ein Befehlssteuerbyte aufzunehmen vermag, welches so codiert ist, daß es angibt, welcher der in einer Vielzahl vorgesehenen unterschiedlichen Befehlstypen von dem Prozessor auszuführen ist, daß mit dem Steuerspeieher und der Rechen- und Verknüpfungseinrichtung eine Verzweigungssteuereinrichtung (304-20, 304-25, 304-30, 304-34, 304-36) verbunden ist, die eine Schaltungsanordnung enthält, welche durch das genannte Befehlssteuerbyte veranlaßt wird, eine Verzweigung zu einer bestimmten Mikroprogramm-Routine der genannten ersten Klassen von Mikroprogramm-Routinen hin auszuführen, und daß die Decodiereinrichtung durch den Operationscode-Feldteil des genannteil ersten Mikrobefehlstyps veranlaßt wird. Signale für die Speicherung einer Signaldarstellüng des genannten bestimmten Bitmusters in der Mehrzweckregisterspeichereinrichtung zum Zwecke der Bezugnahme durch eine ausgewählte Mikroprogramm-Routine
    509825/0978
    der genannten zweiten Klassen von Mikroprogramm-Routinen zu erzeugen.
  17. 17. Verarbeitungssystem nach Anspruch 16, dadurch gekennzeichnet, daß die Verzweigungssteuereinrichtung eine mit dem Steuerspeicher verbundene Rückführ-Registereinrichtung enthält und daß mit dem Steuerspeicher und der genannten Registerspeichereinrichtung eine Verzweigungsschal tungsanordnung verbunden ist, die auf einen weiteren Mikrobefehlstyp hin die laufende Adresse um 1 vergrößert und die betreffende vergrößerte Adresse in die Rückführ-Registerspeichereinrichtung einspeichert sowie den Steuerspeicher veranlaßt, eine Verzweigung zu dem zweiten Satz von Mikrobefehlen hin vorzunehmen.
  18. 18. S3?-stem nach Anspruch 17, dadurch gekennzeichnet, daß die Verzweigungssteuereinrichtung eine mit dem Steuerspeicher und der Registereinrichtung verbundene Steueranordnung enthält, die auf eine erfolgreiche Beendigung des zweiten Satzes von Mikrobefehlen hin einen weiteren Mikrobefehlstyp an einer genau angegebenen Stelle innerhalb der genannten zweiten Routine ausführt, derart, daß der betreffende Steuerspeicher veranlaßt wird, auf den Mikrobefehl der ersten Routine Bezug zu nehmen, der bzw. die durch den Adresseninhalt der genannten Rückführ-Registerspeichereinrichtung angegeben ist.
  19. 19. System nach Anspruch 17, dadurch gekennzeichnet, daß der genannte weitere Mikrobefehlstyp ein Verzweigungs-Mikrobefehl ist, der folgende Codierung besitzt:
    Ein Operationscode-Feldbereich ist so codiert, daß er eine unbedingte Verzweigungsoperation angibt, ein Verzweigungsadressen-Feldbereich ist so codiert,
    509825/0978
    daß er einen Speicherplatz angibt, der dem Beginn der zweiten Routine-Mikrobefehle entspricht, ein Vorverzweigungs-Feldbereich ist so codiert, daß er die Speicherung einer Rückführadresse angibt, und ein die Verzweigung zur Adresse betreffender Bedingungs-Feldbereich ist so codiert, daß er einen Speicherplatz entsprechend dem Verzweigungsadressen-Feldbereich angibt.
  20. 20. System nach Anspruch 16, dadurch gekennzeichnet, daß der genannte eine Mikrobefehl ein Verknüpfungs-Mikrobefehl ist, der zumindest einen Operationscode-Feldbereich und einen Konstanten-Feldbereich entsprechend dem Steuerbyte aufweist und der so codiert ist, daß er ein bestimmtes Muster enthält, insbesondere für den einen Befehlstyp, und daß die Decodereinrichtung eine Schaltungsanordnung enthält, die auf den genannten Operationscode-Feldbereich des genannten einen Verknüpfungs-Mikrobefehls hin Signale erzeugt, die zum Laden der dem.bestimmten Bit-Muster entsprechenden Bit-Darstellung in die Speichereinrichtung dienen.
  21. 21. System nach Anspruch 20, dadurch gekennzeichnet, daß die genannten bestimmten Mikrobefehle Verzweigungs-Mikrobefehlen entsprechen, deren jeder eine bedingte Verzweigung auf der Grundlage des Zustands eines bestimmten Bits.der Bits des Steuerbytes angibt, und daß die Schaltungsanordnung durch die Verzweigungsbedingungs-Mikrobefehle veranlaßt wird, die Operationen festzulegen und diejenigen Teile der zweiten Routine-Mikrobefehle anzugeben, die von deiiJHardware-Einrichtungen für eine erfolgreiche Beendigung des genannten einen Befehlstyps auszuführen sind.
    5098 25/097 8
  22. 22. Verfahren zur Organisierung einer mikroprogrammierbaren Steuereinrichtung eines mikroprogrammierbaren Prozessors, insbesondere nach einem der Ansprüche 1 bis 15, unter Verwendung einer Hardware, die derart betrieben ist, daß ein vorgegebener Satz von Befehlen zum Zwecke einer erleichterten Vergrößerung der Anzahl von Eingabe/Ausgabe-Speiehereinrichtungen ausführbar ist, die unterschiedliche physikalische Eigenschaften besitzen und die durch Steuerung von dem Prozessor her betreibbar sind, dadurch gekennzeichnet, daß zunächst zumindest erste und zweite Klassen von Mikroprogramm-Routinen (F198) bereitgestellt werden, daß durch jede Routine-der ersten Klasse von Routinen der Prozessor hinsichtlich der Durchführung von Operationen für die Verarbeitung von Daten geleitet wird, die von sämtlichen Speichereinrichtungen-gespeichert werden, daß durch jede Routine der zweiten Klasse von Routinen die Prozessor-Hardware veranlaßt wird, Operationen einer ersteh oder zweiten Kategorie des betreffenden Satzes von Befehlen auszuführen, in die eine bestimmte Anfangszahl der genannten Einrichtungen einbezogen ist, daß ein Paar von Routinen der genannten zweiten Klasse eingeführt wird und die genannte Hardware veranlaßt wird, Operationen der genannten ersten und zweiten Kategorien des betreffenden Satzes von Befehlen in dem Fall auszuführen, daß eine weitere Eingabe/Ausgabe-Speichereinrichtung hinzugefügt wird, deren physikalische Eigenschaften unterschiedlich sind von denen der in einer Anzahl vorgesehenen Eingabe/ Ausgabe-Speichereinrichtungen, daß in jede Routine eines bestimmten Paares der ajifangs bereitgestellten Routinen der genannten zweiten Klasse ein Verzweigungs-Mikrobefehl an einer ausgewählten Stelle eingeführt wird, durch den als Angabe einer Verzweigungs-Testbedingung eine physikalische Differenz zwischen der genannten anderen Eingabe/Aus-
    509825/0978
    gabe-Speichereinrichtung einer zuvor angeschlossenen Einrichtung angegeben wird, und daß eine Verzweigungs-• steuereinrichtung (304-28) bereitgestellt wird, die auf die Ergebnisse der Überprüfung des genannten Zustandes hin eine Auswahl zwischen den Routinen der zweiten Klasse in denselben Kategorien vornimmt, derart, daß entsprechende Befehle des genannten Satzes von Befehlen ausgeführt werden.
    23» Verfahren zur Organisierung einer mikroprogrammierbaren Steuereinrichtung eines mikroprogrammierbaren Prozessors, insbesondere nach einem der Ansprüche 1 bis 15, wobei der Prozessor derart betrieben ist, daß ein vorgegebener Satz von Befehlen zum Zwecke der Erleichterung der Vergrößerung der Anzahl von Befehlen in dem betreffenden Satz von Befehlen zur Steuerung des Betriebs einer Vielzahl von Eingabe/Ausgabe-Speichereinrichtungen ausgeführt wird, die unterschiedliche physikalische Eigenschaften besitzen, wobei jeder Befehl durch ein Befehlssteuerbyte mit einem bestimmten Bitmuster festgelegt wird, dadurch gekennzeichnet, daß zunächst zumindest erste und zweite Klassen von Mikroprogramm-Routinen (F198) bereitgestellt werden, daß auf jede Routine der zu der ersten Klasse von Routinen gehörenden Routinen von dem genannten Befehlssteuerbyte Bezug genommen wird, derart, daß der Prozessor bei der Durchführung von Operationen zur Verarbeitung von Daten geleitet wird, die von sämtlichen Speichereinrichtungen gespeichert werden, daß jede Routine der zweiten Klasse von Routinen dazu herangezogen wird, die Prozessor-Hardware zu veranlassen, Datenübertragungsoperationen einer ersten oder zweiten Kategorie des genannten Satzes von Befehlen für eine bestimmte Speichereinrichtung der
    509825/0978
    Vielzahl von Speiehereinrichtungen in- Übereinstimmung mit einem Leitungs-Byte-Bitmuster auszuführen, das durch einen an einer bestimmten Stelle innerhalb jeder Routine
    enthaltenen Mikrobefehle der ersten Klasse von Mikroprogramm-Routznen^angegeben ist, daß eine zusätzliche Routine der genannten ersten Klasse für die Leitung .des Prozessors ;bei einem Typ der Datenübertragungsoperation eingeführt wird, welche durch einen neuen Befehl angegeben ist, daß die genannte Routine an einer bestimmten Stelle mit einem Mikrobefehl versehen ist, der so codiert ist, daß er ein Leitungs-Byte-Bitmuster angibt, welches verschieden ist von den Leitungs-Byte-Bitmustern, die in den anfangs bereitgestellten Routinen der genannten ersten Klasse enthalten sind, daß die genannte Routine einen eine Verzweigung mit einer Rückkehr betreffenden Mikrobefehl enthält, der so codiert ist, daß durch ihn eine Bezugnahme auf zumindest eine bestimmte Routine der anfänglich vorgesehenen Routinen der zweiten Klasse von Routinen vorgenommen wird, und daß eine Verzweigungssteuereinrichtung (304-28) bereitgestellt wird, die auf das Befehls-Steuerbyte hin, welches den neuen Befehl anzeigt, eine Verzweigung zu der genannten zusätzlichen Routine hin ausführt, derart, daß die bestimmte eine Routine der zweiten Klasse von"Routinen die Hardware in der durch das unterschiedliche Leitungs-Byte-Bitmuster erforderlichen Weise für die Ausführung des genannten neuen Befehls mittels der anfangs vorgesehenen Routinen der genannten zweiten Klasse leitet,. . " -
    509825/0978
    Leerseite
DE19742459956 1973-12-18 1974-12-18 Prozessor und diesen verwendendes peripheres verarbeitungssystem Ceased DE2459956A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US425769A US3909800A (en) 1973-12-18 1973-12-18 Improved microprogrammed peripheral processing system

Publications (1)

Publication Number Publication Date
DE2459956A1 true DE2459956A1 (de) 1975-06-19

Family

ID=23687960

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742459956 Ceased DE2459956A1 (de) 1973-12-18 1974-12-18 Prozessor und diesen verwendendes peripheres verarbeitungssystem

Country Status (6)

Country Link
US (1) US3909800A (de)
JP (1) JPS594736B2 (de)
CA (1) CA1027251A (de)
DE (1) DE2459956A1 (de)
FR (1) FR2295484A1 (de)
GB (1) GB1496779A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828491A (zh) * 2019-01-08 2019-05-31 深圳市爱尚智联科技有限公司 按键电路和按键控制装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1499742A (en) * 1974-10-30 1978-02-01 Motorola Inc Interface adaptor circuits in combination with a processo
US4027293A (en) * 1975-09-12 1977-05-31 Control Data Corporation Microcode program sequencer
JPS6038740B2 (ja) * 1976-04-19 1985-09-03 株式会社東芝 デ−タ処理装置
US4261033A (en) * 1977-01-19 1981-04-07 Honeywell Information Systems Inc. Communications processor employing line-dedicated memory tables for supervising data transfers
US4103338A (en) * 1977-02-28 1978-07-25 Xerox Corporation Self-diagnostic method and apparatus for disk drive
US4210959A (en) * 1978-05-10 1980-07-01 Apple Computer, Inc. Controller for magnetic disc, recorder, or the like
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
US4853956A (en) * 1983-05-20 1989-08-01 American Telephone And Telegraph Company Communication system distributed processing message delivery system
US4571673A (en) * 1983-09-29 1986-02-18 Tandem Computers Incorporated Enhanced CPU microbranching architecture
JPS60144597U (ja) * 1984-03-08 1985-09-25 辰野 幸正 防寒材
US4771378A (en) * 1984-06-19 1988-09-13 Cray Research, Inc. Electrical interface system
US5390304A (en) * 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
JPH065949U (ja) * 1991-12-13 1994-01-25 株式会社アサヒゴム 保温材料
US6032262A (en) * 1995-04-18 2000-02-29 Emc Corporation Disk drive reliability determination system and method
GB2323944A (en) * 1997-04-01 1998-10-07 Ibm Parallel data processing system
EP1008051A4 (de) 1997-03-12 2007-04-25 Storage Technology Corp Netzwerkangehängtes virtuelles banddaten-speicheruntersystem
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
US20010039564A1 (en) * 1997-10-20 2001-11-08 Victor Hahn Log on personal computer
JP3829504B2 (ja) * 1998-02-16 2006-10-04 株式会社デンソー 情報処理装置
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
US20040024992A1 (en) * 2002-08-02 2004-02-05 Shan-Chyun Ku Decoding method for a multi-length-mode instruction set
US7895483B2 (en) * 2007-05-25 2011-02-22 International Business Machines Corporation Software memory leak analysis using memory isolation
US10154700B2 (en) 2012-05-29 2018-12-18 Nokia Technologies Oy Wearable apparatus
US10275254B2 (en) * 2017-03-08 2019-04-30 International Business Machines Corporation Spin loop delay instruction

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377619A (en) * 1964-04-06 1968-04-09 Ibm Data multiplexing system
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
GB1312504A (en) * 1970-05-20 1973-04-04 Ibm Control unit for serial data storage apparatus
US3654617A (en) * 1970-10-01 1972-04-04 Ibm Microprogrammable i/o controller
US3713108A (en) * 1971-03-25 1973-01-23 Ibm Branch control for a digital machine
US3736567A (en) * 1971-09-08 1973-05-29 Bunker Ramo Program sequence control
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
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US3766526A (en) * 1972-10-10 1973-10-16 Atomic Energy Commission Multi-microprogrammed input-output processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828491A (zh) * 2019-01-08 2019-05-31 深圳市爱尚智联科技有限公司 按键电路和按键控制装置

Also Published As

Publication number Publication date
FR2295484A1 (fr) 1976-07-16
JPS594736B2 (ja) 1984-01-31
US3909800A (en) 1975-09-30
FR2295484B1 (de) 1980-07-04
CA1027251A (en) 1978-02-28
JPS5093552A (de) 1975-07-25
GB1496779A (en) 1978-01-05

Similar Documents

Publication Publication Date Title
DE2459956A1 (de) Prozessor und diesen verwendendes peripheres verarbeitungssystem
DE2459975A1 (de) Mikroprogrammierter peripherer prozessor sowie diesen verwendendes peripheres untersystem
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE3689184T2 (de) Vorabrufmonitor.
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE3741850A1 (de) Ausfuehrungseinheit fuer einen i/o-prozessor
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE2500006A1 (de) Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen
DE2755952C2 (de)
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2806045A1 (de) Dv-system mit pufferspeicher
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2750721A1 (de) Ein/ausgabe-system
DE1449532B2 (de) Datenverarbeitungsanlage
DE2813128A1 (de) Mikroprogrammspeicher
DE2517276A1 (de) Datenverarbeitungssystem
DE2248296A1 (de) Programmsteuereinrichtung
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE2626703A1 (de) Intern programmierbares datenverarbeitungssystem
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection