DE2848642A1 - Programmierbare nachrichtenuebertragungsanlage - Google Patents

Programmierbare nachrichtenuebertragungsanlage

Info

Publication number
DE2848642A1
DE2848642A1 DE19782848642 DE2848642A DE2848642A1 DE 2848642 A1 DE2848642 A1 DE 2848642A1 DE 19782848642 DE19782848642 DE 19782848642 DE 2848642 A DE2848642 A DE 2848642A DE 2848642 A1 DE2848642 A1 DE 2848642A1
Authority
DE
Germany
Prior art keywords
line
data
register
transmission
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.)
Withdrawn
Application number
DE19782848642
Other languages
English (en)
Inventor
Wu David Chung-Kwong
Dennis Michael Nagel
Douglas Marcus O'neal
Paul William Petroskey
Den Berg Jan Wouter Van
Donald Vyron Wildes
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Priority claimed from US05/855,578 external-priority patent/US4156796A/en
Priority claimed from US05/855,572 external-priority patent/US4188665A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2848642A1 publication Critical patent/DE2848642A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)

Description

Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
ker-bm
Programmierbare Nachrichtenübertragungsanlage
Die Erfindung betrifft eine mikroprozessorgesteuerte programmierbare Nachrichtenübertragungsanlage entsprechend dem Oberbegriff des Patentanspruchs 1.
Die betrachtete Anlage läßt Daten über eine vorgegebene Zahl von Übertragungsleitungen gleichzeitig senden und empfangen. Jede einzelne der vorgesehenen Leitungen kann dynamisch an verschiedene übertragungscharakteristiken wie z.B. Übertragungsgeschwindigkeit, Zeichenlänge, Synchron- oder Asynchronbetrieb, Codestruktur oder Betriebsablauf angepaßt werden.
Die Anlage nach der vorliegenden Erfindung eröffnet dem Benutzer die Möglichkeit, seine ÜbertragungsSteuerprogramme unter Verwendung geeigneter Betriebskommandos zu schreiben, die sowohl die Unabhängigkeit von der Codestruktur, vom Betriebsablauf als auch von den Eigenschaften der Übertragungsleitung gewähren. Die besonderen Geräteeigenschaften und Warteschlangen werden dazu verwendet, eine hohe Übertragungsleistung zu erzielen.
Das Abtasten beim Zeitmultiplexieren innerhalb der betrachteten Anlage ist programmierbar; die Zeitbasis für die Abtastung ist fest vorgegeben und ein Vielfaches der vorgesehenen Übertragungsleitungsfolgefrequenzen. Die Programmierbarkeit wird mittels einer laufend abgetasteten Speicheranordnung ermöglicht, die die Leitungsadressen für den verwendeten, zeitmultiplexierenden Anlagenteil bereithält und benutzt. Der Abtastmechanismus räumt bei der Übertragungspuffer-
BC 977 003/004 ÖÖ9823/0L74
— Q —
bedienung der einzelnen Leitungen diesen gegf. Prioritäten ein.
Zum Stand der Technik von Übertragungs-Multiplex-Prozessoren sind die deutsche Patentanmeldung P 22 09 136.7, die US-PS 3 909 791 sowie das Handbuch mit dem Titel "3705 Communications Controller - Theory and Maintenance", herausgegeben von der International Business Machines Corporation, zu nennen.
Die Aufgabe der vorliegenden Erfindung ist die Schaffung einer programmierbaren Nachrichtenübertragungsanlage, bei der eine Vielzahl von übertragungsleitungen, die sich nach übertragungsgeschwindigkeit, Struktur des verwendeten Codes und Art des Betriebsablaufs, elektrischen Schnittstellenbedingungen sowie Rangfolge bei der Bedienung unter Einräumung von Prioritäten unterscheiden, mit einem handelsüblichen Computer unter Vorkehrung einer Warteschlange kommuniziert.
Die Lösung dieser Aufgabe ist im Patentanspruch 1 gekennzeichnet. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen beschrieben.
i
i
!Die vorgeschlagene Multiplextechnik ist entsprechend der
Aufgabe für die programmierbare Datenübertragung über
leitungen verschiedener Priorität, übertragungsgeschwindigkeit, benutzter Codestruktur, elektrischer Schnittstellen und Betriebsabläufe geeignet.
BC 977 003/004 80 0 8 2 3/0574
Dabei wird eine periodisch ausgewertete Abtasttabelle verwen- : det, die in Betracht kommende Leitungsadressen in einem Steuerspeicher anspricht, aus welchem aufeinanderfolgend Daten, Status- und Steuerinformationen für die einzelnen Übertragungsleitungen ausgelesen werden. Eine gemeinsam benutzte Logik führt aufgrund der gegebenen Steuerinformationen aus dem Speicher die Datenübertragung zwischen den einzelnen Übertragungsleitungen und dem vorgesehenen Multiplexer durch.
Eine Empfangswarteschlange und eine Sendeunterbrechungswarteschlange führen die Steuerung des Datenflusses zwischen dem Multiplexer und einer programmierbaren Steuereinheit durch.
Leitungsprioritäten werden innerhalb der Abtasttabelle bei Adressen mit höchster Priorität unter Mehrfacheingabe berücksichtigt, wobei die betroffenen Leitungen öfter als Leitungen ohne Vorrang erfaßt werden. Die Sendeschlange gibt Unterbrechungssignale an die Steuerzentrale, wobei Datensendefunktionen gegenüber Datenempfangsfunktionen Vorrang eingeräumt wird.
Die Warteschlangen sind in Form von Schieberegistern ausgeführt, bei denen eingegebene Informationen nach dem Prinzip, was zuerst eingegeben ist, wird zuerst wieder ausgegeben, behandelt werden.
Der Teil der Logik, der bei der Ausgabe des Steuerspeichers anspricht, wird auch zum Einschreiben von Daten und Informationen in den Steuerspeicher verwendet.
per Multiplexerteil der betrachteten programmierbaren Gesamtanlage enthält einen zeitmultiplexen Abtaster. Dabei
BC 977 003/004 Q09823/0574
soll dieser Abtaster nach der vorliegenden Erfindung mit einem handelsüblichen Computer (IBM Serie/1 z.B.) über dessen Eingabe/Ausgabe-Kanal zusammenarbeiten können.
Der betrachtete Computer soll eine zentrale Verarbeitungseinheit, einen auslesbaren Festwertspeicher und eine Vielzahl von an Eingabe/Ausgabe-Kanäle angeschlossenen Peripherieeinheiten enthalten. Diese Peripherieeinheiten können Drucker, Plattenspeicher oder übertragungsadapter sein.
Die folgende Beschreibung konzentriert sich im wesentlichen auf den programmierbaren Anlagenteil der Gesamtübertragungsanlage nach der vorliegenden Erfindung, der an den Eingabe/ Ausgabe-Kanal des verwendeten Computers angeschlossen ist.
Die folgenden Abkürzungen werden in der Beschreibung verwendet:
PAT = programmierbarer Übertragungs-Anlagenteil
LSB = Leitungssteuerblock
JFWS = Festwertspeicher
CRC = zyklischer Redundanzcode
LRC = Längsredundanzcode
SLAR = Steuerungs-Leitungsadreßregister
JSPL = Speicherlogik
jALAR = Abtaster-Leitungsadreßregister
MODEM = Modulator/Demodulator
CS = Zyklusunterbrechung für einzuschiebende Operationen
!SAR = Speicheradreßregister
U = arithmetisch-logische Einheit
B1AT = Funktionsadreßtabelle
BO 977 003/004 809823/0 67 4
ESB = Einheitssteuerblock
PLA = programm-logische Anordnung
MLÜA = Mehrfachleitungs-übertragungsadapter
CPü = zentrale Verarbeitungseinheit. Computer üblicher Art
DAR = Datenzugriffsregister
IAR = Instruktionsadreßregister
BYTE = 8 Binärbits
FSU = Funktionsspeichereinheit
BAL = Verzweigen und Fortsetzen
LDRP = Laden und Erhöhen der DAR-Instruktion
IPL = Laden des Anfangsprogramms
CYBIT = Zyklussteuerbit
Der programmierbare Anlagenteil (PAT) nach der vorliegenden Erfindung enthält die folgenden Vorkehrungen:
1. - Physische und logische Trennung der elektrischen Schnittstelle, der Codestruktur und des Betriebsablaufs
Diese Vorkehrung nach der vorliegenden Erfindung löst das Problem bezüglich der Flexibilität bei technischem Wechsel der Umgebungsbedingungen. Die dazu verwendeten Einzelheiten sind die folgenden: ;
A - Vermischbare elektrische Schnittstellen
EIA-Datengerät-Schnittstelle ! EIA-Vollduplex-Schnittstelle j EIA-Synchrondirektanschluß EIA-Asynchrondirektanschluß Direktrufanschluß Fernschreibanschluß Digitalnetzanschluß asynchrones Modem für 1200 Bits/Sekunde synchrones Modem für 1200 Bits/Sekunde
EC 977 003/004 609823/05
Die vorgenannten Möglichkeiten werden so behandelt, daß von ihnen ausgehende Daten einer vereinheitlichten elektrischen Schnittstelle für den internen Anlagenteil entsprechen und daneben individuell verschiedene Schnittstellen für das Netz bzw. die angeschlossenen Leitungen wählbar sind. Wenn ein technischer Wechsel in der Umgebung den Austausch einer Endstelle oder einen Anschluß zum Netz betrifft, läßt sich dies ausführen unter alleiniger Anpassung der elektrischen Schnittstelle, erfordert jedoch keine Abänderung des vorhandenen Programms.
B - Die gegebene Codestrukturunabhängigkeit ermöglicht es dem Benutzer, neuartige Endstellen mit abweichenden Codestrukturen anzuschließen, ohne daß er sein bestehendes Übertragungsprogramm ändern müßte. Dieses Problem wird dadurch gelöst, daß die vorgesehene Steuereinheit mikroprogrammiert ist unter Verwendung einer Indexiertechnik anstelle der Angabe absoluter Binärzeichen innerhalb des Übertragungsprogramms.
C - Unabhängigkeit vom Betriebsablauf ermöglicht dem Benutzer die Änderung des Netzes und der vorgesehenen Endstellen, ohne :daß sein bestehendes übertragungsprogramm neu geschrieben jwerden müßte. Diese Möglichkeit erfolgt unter gleichzeitiger jAnwendung einer solchen Technik im PAT, die die Angabe eines IIndexwertes in einer Tabelle ermöglicht, der dann in eine Unterroutinen-Leitungsadresse zur Auswahl des entsprechenden !Betriebsablaufprogramms übersetzt wird, wobei sich ein Schreiben individueller Programme für die einzelnen Betriebsabläufe erübrigt.
2. - Mehrfach benutzte und überlappende Übertragungskommando-Strukturen '
■Eine andere Vorkehrung entsprechend der vorliegenden Erfin- ι dung ermöglicht es dem Benutzerprogrammierer, seine Über-
BC 977 003/004 00 9 8 2 3/0574
tragungsprogramme in einer solchen Weise zu schreiben, die die absoluten Leitungsadressen und die Vielzahl der das gleiche Programm benutzenden Verbindungsleitungen nicht zu kennen braucht. Die entsprechend vorgesehene Geräteausstattung sorgt für eine automatisch übersetzte Durchgabe über 32 Wege. :
Dieses Problem wird mittels des Leitungsadreßregisters gelöst, das automatischen Speicherzugriff zu je einem von 32 Speicher- ; blöcken zu 128 Bytes sowie dem zugehörigen CRC, der Kanalschnittstelle und Abtasterregistern vermittelt. :
3. - Warteschlangenmechanismus mit Prioritätenbedienung
Diese Vorkehrung verbessert den Leistungsdurchsatz eines Übertragungsmultiplexers unter Prioritätenbildung beim Empfang und beim Senden derart, daß Echtzeit-Sendeanforderungen gegen- ; über Nicht-Echtzeit-Empfangsanforderungen der Vorrang einge- : räumt wird und daß Hochgeschwindigkeits-Datenleitungen der Vor-' rang vor Niedriggeschwindigkeits-Datenleitungen gewährt wird. ; Die in der Steuereinheit vorgesehene Sendeunterbrechungs- technik und Warteschlangen für das Senden und Empfangen werden * in Zusammenarbeit mit verschiedenen mikroprogrammierten Aufgabenlösungsverfahren zum Erreichen des gewünschten Zieles verwendet.
4. - Prioritäts-Abtastfolge
Eine weitere Eigenart des PAT entsprechend der vorliegenden Erfindung ist eine Vorkehrung, die anpaßbare Prioritäten aufgrund der Übertragungsgeschwindigkeit der jeweiligen
übertragungsleitung zuordnet. Diese Vorkehrung läßt Hoch-Igeschwindigkeitsleitungen öfter zum Zuge kommen und verhindert bs, daß Hochgeschwindigkeitsleitungen bei der Bedienung lang-Bamer Leitungen zeitmäßig überrannt werden. Dies wird erreicht durch ein Element im Abtasttabellenspeicher und durch
977 003/004 Ö09823/0S74
(besondere Schaltkreise zur Steuerung der einzelnen Leitungs- ^abtastungen. Der Priorität der Leitungen wird dynamisch unter ■Einsetzung der Leitungsadressen in entsprechende relative !Positionen der Abtasttabelle entsprochen. Des weiteren -können die Adressen von Hochgeschwindigkeitsleitungen in der Abtasttabelle mehrfach vorgesehen werden, wobei ihre Bedienungsihäufigkeit erhöht wird.
;5. - Zentraler CRC-Generator mit Polynomtechnik
Diese Einrichtung löst das Problem der Erzeugung eines zyklischen Redundanzprüfzeichens in Polynomtechnik mit einer Länge von bis zu 16 Bits für gleichzeitig bis zu 32 Übertragungsleitungen, die sämtliche ihre eigene Polynombildung bei verschieden langen Zeichen und bei unterschiedlichen tiber- !tragungsgeschwindigkeiten erfordern mögen. Dies wird mit
einem zentralen, zeitmultiplex verwendeten CRC-Rechner in Zusammenarbeit mit Datenspeicherelementen zur Speicherung Von Zwischenergebnissen gelöst.
fein Ausführungsbeispiel der Erfindung ist in den Zeichnungen (dargestellt und wird im folgenden näher beschrieben.
jFig. 1 ist ein Blockschaltbild, das die Hauptbestandteile : des programmierbaren Anlagenteils (PAT) nach der ; vorliegenden Erfindung zeigt.
uTign. 2a zeigen miteinander die Hauptbestandteile des für und 2b den PAT nach der vorliegenden Erfindung benutzten
Kanalanschlusses.
Fign. 3a zeigen zusammen die Hauptbestandteile der Steuerein-
und 3b heit des PAT nach der vorliegenden Erfindung. Fig. 4 zeigt schematisch eine allgemeine Darstellung des gesamten Abtasters des PAT nach der Erfindung, während weitere Einzelheiten davon in den Fign. 7 und 5 näher erläutert sind.
BC 977 003/004 Ö0Ö823/0S74
Fign. 5a, zeigen die Einzelheiten des Abtasters gemäß Fig. 4 5b, 5c in weiteren Details.
Fig. 6 ist die Darstellung eines Abtastzyklus'unter Anwendung der vorgesehenen Abtasttabelle.
Fig. 7 zeigt Einzelheiten einiger Komponenten von Fig. 4.
Fig. 8 gibt einen Überblick über die möglichen Anschlußvariationen.
Datenübertragung von der CPU zum Abtaster
Anhand der Fig. 1 soll nun beschrieben werden, wie Daten aus dem Hauptspeicher der CPU 200 zur Abtasteinheit 201 (im folgenden kurz als Abtaster bezeichnet) des PAT über den Eingabe/ Ausgabe-Schnittstellenkanal 202 der CPU übertragen werden. : Dies kann einfach als Sende-Operation bezeichnet werden, weil die zu übermittelnden Daten für die Übertragung über eine oder mehrere der 32 übertragungsleitungen gedacht sind, die an den Ausgang des Abtasters 201 anschließbar sind. Die bei einer derartigen Datenübertragung ablaufenden CPU-Operationen sind ; in Details z.B. in der deutschen Patentanmeldung P 27 19 253.6 nachzulesen. Es erübrigt sich daher, solche Operationen im einzelnen hier noch zu erläutern. Der CPU-E/A-Kanal 202 entspricht dem Kanal 35 in der genannten Patentanmeldung. Der PAT nach der vorliegenden Erfindung wird an einen solchen CPU-E/A-Kanal anstelle einer der anschließbaren E/A-Anschlüsse oder anschließbaren Steuereinheiten angeschlossen. Der PAT : nach der vorliegenden Erfindung kann somit als eine weitere Eingabe/Ausgabe-Einheit entsprechend der genannten Patentanmeldung betrachtet werden.
BC 977 003/004 ΛΛ .
909823/O574
Bei der Beschreibung der Bewegung von Datenbytes von der CPU zum PAT wird angenommen, daß ein Zyklusunterbrechungsbetrieb durchgeführt wird, daß irgendwann vorher eine Eingabe/Ausgabe-Instruktion in der CPU aufgerufen wurde und daß das zugehörige E/A-Kommando und die zugehörigen Steuerinformationen bereits zum PAT übermittelt sind. Als Beispiel wird angenommen, daß die E/A-Instruktion für die an den Abtaster 201 angeschlossene Übertragungsleitung 203 gilt. Es wird des weiteren angenommen, daß sowohl die CPU als auch die PAT-Steuereinheit 204 bereits mit anderen Aufgaben beschäftigt sind.
Irgendwann im Verlauf der Zeit sendet der Abtaster 201 eine Unterbrechungsanforderung an die Steuereinheit 204 und gibt damit zu erkennen, daß er weitere Daten zur Übertragung über die Leitung 203 benötigt. Dies wird mittels der Unterbrechungsanforderungsleitung 287 gemäß Fig. 5c durchgeführt. Diese Anforderung wird zum Steuerblock 134 gegeben, der in der die Gesamtsteuereinheit 204 darstellenden Fig. 3a gezeigt ist. Als Ergebnis dieser Unterbrechungsanforderung wird die augenblicklich anhand des Mikrocode-Steuerprogramms im Festwertspeicher 128 gemäß Fig. 3b durchgeführte Arbeit unterbrochen !und das Steuerprogramm verzweigt zu einer übertragungsunterbrechungs-Bedienungsroutine. Diese Unterbrechungsbedienungsroutine läßt die übertragungsleitungsadresse, die am Ausgang der Unterbrechungswarteschlange in 104 gemäß Fig. 5c erscheint, über den vorgesehenen Eingabekanal 44, die A- und B-Register :148 und 150 sowie die ALU 152 in zwei RO- und R1-Register im Block 102 gemäß Fig. 3 einlaufen. Diese Leitungsadresse soll für die vorliegende Beschreibung als Leitungsadresse der Leitung 203 angenommen werden. Die Unterbrechungsroutine über-Iträgt dann den Leitungsadreßwert aus den Registern in 102 !und stellt ihn in das Steuerungs-Leitungsadreßregister (SLAR) gemäß Fig. 2 und in das Abtaster-Leitungsadreßregister (ALAR) 114 gemäß Fig. 5b ein. In jedem Falle erfolgt dies über den Ausgangskanal 110, den Wähler 145, die A- und B-Register 148 :
BC 977 003/004 909823/057A
- 18 und 150 sowie den Datenausgabekanal 46.
Bei jeder Einstellung wird die gleiche 5 Bits lange Leitungsadresse sowohl in das SLAR 38 als auch das ALAR 114 eingegeben. Theoretisch betrachtet könnten diese beiden Register und 114 durch ein einziges Register ersetzt werden. Praktisch jedoch ist es vernünftiger, zwei getrennte Register vorzusehen, die jeweils enger an die mit ihnen zusammenarbeitenden Geräteteile herangerückt sind.
Das SLAR 38 hat verschiedene Aufgaben. Einmal muß es Adreßbits über seine Ausgangsleitung 39 zum Steuerungsspeicher 132 (Fig. 3) geben, um die Adressierung des gewünschten Leitungssteuerblocks (LSB) zu ermöglichen; im betrachteten Beispielfalle ist der Leitungssteuerblock LSB der für die übertragungsleitung 203. Jeder der Speicher 128, 130 und 132 ist in vier Moduln unterteilt, wobei jedes Modul eine Kapazität von 4096 Bytes aufweist. Normalerweise werden diese Speicher 128, 130 und 132 durch Adreßbits 0-15 auf dem Speicheradreßkanal 206 adressiert. Die vier höchstwertigen Bits 0 bis 3 wählen irgendeines der 4096-Byte-Moduln aus. Dies erfolgt mittels des Speicherwählers 2O7. Die übrigbleibenden niedrigerwertigen Adreßbits auf dem Speicheradreßkanal 206 werden dann zur Wahl des gewünschten Bytes innerhalb des angewählten Moduls verwendet, ι
Die Leitungssteuerblöcke LSB stehen im niedrigstwertigen 4096-Byte-Modul im Speicher 132. 32 solcher Leitungssteuerblöcke sind darin enthalten; jeweils einer für jede Über-
i tragungsleitung. Jeder Leitungssteuerblock ist 128 Bytes lang, dient zur Speicherung verschiedener Steuer- und Statusinformationen für die zugeordnete übertragungsleitung, und enthält des weiteren für zwei Bytes Pufferplatz zur
BC 977 003/004 909823/05
Zwischenspeicherung von Daten, die von der CPU zum Abtaster .(Block 201 gemäß Fig. 1) oder umgekehrt übertragen werden.
Die Adreßverdrahtung des Teils des Speichers 132, der die Leitungssteuerblöcke enthält, ist so durchgeführt, daß die fünf Bits lange Leitungsadresse im SLAR 38 direkt den zugehörigen Leitungssteuerblock wählt, der zu irgeneinem beliebigen Zeitpunkt zu verwenden ist. Insbesondere sind die Adreß-.leitungen, die zur Definition der Startadresse der Leitungssteuerblöcke benutzt werden, nämlich die Adreßbitleitungen 4 bis 8, vom übrigen Speicheradreßkanal 206 abgetrennt und dafür so verdrahtet, daß sie die fünf Bits langen Leitungsiadressen vom SLAR 38 direkt über den fünf Bits breiten Kanal übertragen können. Damit gibt das SLAR 38 die Startadresse für den gewünschten Leitungssteuerblock an. Das jeweilige Byte innerhalb des angewählten 128 Bytes langen LSB wird mit Hilfe der übrigbleibenden niedrigerwertigen Bits auf dem normalen
!Speicheradreßkanal 206 angewählt. Auf diese Weise wählt das ;SLAR 38 den anzusprechenden LSB aus und der Mikrocode innerjhalb des Festwertspeichers 128 wählt (über SAR 0 bis 3) das jeweilige Byte innerhalb des LSB aus.
Eine weitere durch das SLAR 39 zu erfüllende Aufgabe ist die Adressierung des Zyklusunterbrechungs-Adreßregisters 74 gemäß Fig. 2. Dieses Adreßregister 74 enthält 32 Speicherplätze zu j je zwei Bytes; je einen für die einzelnen 32 übertragungslei- ! tungen. Für jede der einzelnen Übertragungsleitungen wird der Speicherplatz im Register 74 dazu verwendet, die CPU-Hauptspeicher adr es se zu speichern, zu der oder von der Daten während der einzelnen Zyklusunterbrechungsoperationen zu übertragen sind. Der Speicherplatz für die einzelnen Übertragungsleitungen wird anfangs eingegeben. Später wird der Inhalt
BC a 77 0O3/OO4"
0098^3/0574
jedes dieser Speicherplätze im Register 74 nach übertragung j
jedes einzelnen Bytes oder Worts auf den neuesten Stand ge- !
bracht, so daß jeweils die Hauptspeicheradresse für das nach- ·
ste über die angeschlossene übertragungsleitung zu über- ϊ
mittelnde Byte oder Wort bekannt ist. '
j Für jede einzelne übertragungsleitung gibt das SLAR 38 die ' Leitungsadresse für das Adreßregister 74 ab. Das Steuerpro- I gramm im Festwertspeicher 128 leitet dann zwei aufeinanderfolgende Übertragungsinstruktionen für das Register 74 ein, j während deren erster das erste Adreßbyte aus dem Register 74
in das Zyklusunterbrechungs-Adreßregister 71 und während deren
zweiter das zweite Adreßbyte aus dem Register 74 in das Zyklusunterbrechungs-Adreßregister 73 überführt wird. Die Hauptspeicheradresse in den Registern 71 und 73 wird während der
Durchführung einer Zyklusunterbrechungsanforderung zur CPU
übertragen. Während die Hauptspeicheradresse noch in den Regi- , stern 71 und 73 steht, wird sie zur Aktualisierung im Adreß- ; register 74 verwendet, was mit Hilfe eines Aufzählers 76 und j eines Wählers 208 erfolgt. Dieser Wähler 208 gibt jeweils ein
.Adreßbyte in das Adreßregister 74 zurück, um die darin enthal- !
I 1
■tene Hauptspeicheradresse für die betroffene übertragungsleitung anzupassen.
Eine weitere Funktion des SLAR 38 ist die Adressierung der
programmierten Anordnung 80 für die zyklische Redundanzprüfung;! diese programmierte Anordnung 80 ist ebenfalls in Fig. 2
dargestellt. Des weiteren liefert das SLAR 38 die codierte
Leitungsadresse an den Decoder 29, der seinerseits die Anwahl
der ünterbrechungsanforderungs-Verriegelungsglieder 36 durchführt. Die beiden höchstwertigen Bits im SLAR 38 werden auch
für die Auswahl der Rückstellverriegelungsglieder 30 verwendet.
BC 977 003/004 909823/0574
'Wie aus dem Vorstehenden hervorgeht, gibt die Übertragungsileitungsadresse im SLAR 38 gleichzeitig Adreßinformationen ;an verschiedene Teile des Kanalanschlusses gemäß Fig. 2 und [an die Steuereinheit gemäß Fig. 3 ab, so daß diese bzw. deren jEinzelteile die jeweils gerade betrachtete Übertragungsleitung jbedienen können. Gleichzeitig führt das zweite Adreßregister, nämlich das Abtaster-Leitungsadreßregister ALAR 114 gemäß jFig. 5b, welches dieselbe Leitungsadresse wie das SLAR 38 !enthält, verschiedene Adressierfunktionen im Abtaster 201 durch.
'Noch einmal zurückschauend auf die Bewegung von Daten aus der CPU in den Abtaster läßt das Steuerprogramm im FWS 128 gemäß Fig. 3 die Leitungsadresse der Übertragungsleitung 203 in das SLAR 38 gelangen. Das Steuerprogramm nimmt dann Zugriff zum Leitungssteuerblock LSB der Leitung 203 und prüft das zugehörige Statusfeld im LSB; daran ist zu erkennen, daß für diese betrachtete übertragungsleitung eine Datenübertragungsoperation von der CPU zum Abtaster läuft und wann der Datenpuffer im LSB bereit ist, die nächste Datenmenge von der CPU zu empfangen. Für das Beispiel wird angenommen, daß die jeweils übertragene Datenmenge Zwei-Byte-Datenwörter sind. Das Steuerprogramm gibt die entsprechenden Instruktionen dafür ab, daß die erforderliche Hauptspeicheradresse aus dem Adreßregister ;
j 7 4 gemäß Fig. 2 an die Zyklusunterbrechungs-Adreßregister 71 ! und 73 weitergegeben wird. Das Steuerprogramm schaltet auch ein E/A-Anzeigeverriegelungsglied 209 ein um zu kennzeichnen, daß die CPU Daten an den PAT abgeben soll. Dann schaltet das Steuerprogramm ein Zyklusunterbrechungs-Anforderungsverriegelungsglied 210 ein, um die Zyklusunterbrechungs-Anforderungsleitung (für das Bit 16) auf dem CPU-Anforderungskanal 52 zu aktivieren. ι
BC 977 003/004 909823/0574
Nach Aufnahme der entsprechenden Antwort von der CPU werden
die Zyklusunterbrechungs-Folgegatter 86 aktiviert, um die
Hauptspeicheradresse aus den Registern 71 und 73 auf den CPU- : Adreßkanal 211 gelangen zu lassen. Die CPU nimmt diese
Adresse auf, liest das benötigte Datenwort aus ihrem Hauptspeicher aus und stellt die Daten auf den CPU-Datenkanal 212. \ Nach Empfang des entsprechenden Steuersignals von der CPU
werden die beiden Datenbytes auf dem Datenkanal 212 in die * beiden Zyklusunterbrechungs-Datenausgaberegister 68a und b
eingegeben. Die intern ablaufenden CPÜ-Operationen zur Er- j kennung der Zyklusunterbrechungsanforderung und zur Ausgabe ; der erforderlichen Daten auf den Datenkanal 212 entsprechen ; dem Stande der Technik handelsüblicher CPU und werden infolgedessen hier nicht näher erläutert. ■
Die Steuereinheit gemäß Fig. 3 bewirkt dann die Auslesung
des Datenworts aus den Datenregistern 68 gemäß Fig. 2 und : dessen Speicherung im der Übertragungsleitung 203 zugeordneten ι Leitungssteuerblock. Dies erfolgt in einzelnen Schritten. Zu- j lerst leitet der FWS 128 gemäß Fig. 3 eine Eingabeinstruktion
zur Übertragung des Bytes im Zyklusunterbrechungs-Datenausigaberegister 68a gemäß Fig. 2 in zwei Vier-Bit-Register RO
und R1 ein, die im Speicherblock 100 der Steuereinheit gemäß
Fig. 3 untergebracht sind. Als erster Teil dieser Steuerinstruktion wird das Datenbyte im Register 68a über die Ein-JGatter 17 und den Dateneingabekanal 44 in die A- und B-Register 148 und 150 gemäß Fig. 3 übertragen. Die vier Bits
im A-Register 148 werden dann über die ALU 152 übertragen und
in das RO-Register des Blocks 100 eingegeben. Dann werden die
Vier Bits aus dem B-Register 150 über die ALU 152 zum R1-Register im Block 100 übertragen. Das Steuerprogramm im FWS 128 gibt danach eine Speicherinstruktion ab, um die Daten aus RO
und R1 auszulesen und sie im Leitungssteuerblock für die übertragungsleitung 203 einzuspeichern, wobei dieser LSB im Spei-
BC 977 003/004 909823/057 4
cherblock 132 untergebracht ist. Dies erfolgt unter Nachein-'anderübertragung des Inhaltes der Register RO und R1 über den Registerausgabekanal 110, den Wähler 145 und den Kanal 146 .zum A-Register 148 und zum B-Register 150. Das Byte in den A- und B-Registern 148 und 150 wird dann weiterübertragen und im iSpeicherblock 132 über den Speichereingabekanal 213 aufge-
nommen. Dabei wird jetzt der Speicherblock 132 mit den Leitungsadreßbitsjvom SLAR 38 adressiert, um den richtigen Leitungssteuerblock zu finden, und des weiteren durch die niedrigerwertigen Adreßbits auf dem Speicheradreßkanal 206 adres-Jsiert, um das richtige Byte im angewählten Leitungssteuerblock jzu finden.
Die vorgenannten Schritte werden dann für das zweite Datenbyte im Zyklusunterbrechungs-Datenregister 68b gemäß Fig. 2 wiederholt. Mit anderen Worten: Die Steuereinheit gemäß Fig. 3 gibt eine Eingabeinstruktion ab zur Übertragung des zweiten Bytes aus dem Register 68b zu den Registern RO und R1 im Speicherblock 100. Die Steuereinheit gibt dann die Speicherinstruktion zur Überführung des zweiten Bytes aus den Registern RO und R1 in den LSB-Datenpuffer im Speicherblock 132 ab. Jetzt steht nunmehr das vollständige Datenwort im Datenpuffer des Leitungs-; Steuerblocks für die Übertragungsleitung 203.
Unter Beobachtung der übertragungsleitung 203 wartet die Steuerjeinheit gemäß Fig. 3 nunmehr, bis der Abtaster gemäß Fig. 5 , mitteilt, daß er bereit ist, weitere Daten für die übertragungsleitung 203 aufzunehmen. In der Zwischenzeit kann die teuereinheit gemäß Fig. 3 Funktionen zur Bedienung anderer Jbertragungsleitungen durchführen.
BC 977 003/004 909823/0574
Irgendwann ist der Abtaster gemäß Fig. 5 mit der bitseriellen Datenübertragung eines ihm vorangehend für die übertragungsleitung 203 zugeführten Datenbytes fertig. Kurz nach der Vollendung stellt der Abtaster die Fünf-Bit-Leitungsadresse und ein Drei-Bit-Statusfeld in die Sendeunterbrechungswarteschlange in 104 gemäß Fig. 5 ein. Die Codierung des Statusfelds markiert, daß der Abtaster zum Empfang eines weiteren Datenbytes von der Steuereinheit gemäß Fig. 3 für die übertragungsleitung bereit ist. Die Unterbrechungsanforderungsleitung 287 könnte sogar schon eingeschaltet sein, weil eine andere Leitungsadresse bereits vorher in die Warteschlange in 104 eingegeben wurde und darin noch ansteht. Wenn nicht, schaltet die Warteschlangensteuerung 264 die Unterbrechungsanforderungsleitung 287 als Folge der Eingabe der übertragungsleitungsangabe von 203 in die Warteschlange in 104 ein. Die Unter- : brechungsanforderungsleitung 287 von Fig. 5c verläuft bis \ zum Steuerblock 134 gemäß Fig. 3. Diese Unterbrechungs- !
ι anforderungsleitung 287 wird fortlaufend durch das Steuerprogramm im FWS 128 überwacht, um sofort eine Unterbrechung aufrufen zu können, auch wenn eine andere Arbeit läuft. Dabei gewinnt die Bedienung einer Sendeunterbrechungsanforderung Vorrang vor allen anderen Arbeiten, die die Steuereinheit jgemäß Fig. 3 gerade ablaufen lassen möge.
Sobald die Unterbrechungsanforderungsleitung 287 eingeschaltet wird, verzweigt das Steuerprogramm im FWS 128 sofort zu seiner Sendeunterbrechungsbedienungsroutine. Dabei wird eine Eingabeinstruktion für die Steuereinheit gegeben, um die älteste, in der Sendeunterbrechungswarteschlange in 104 anstehende Angabe in ein Register der Steuereinheit gemäß Fig. j3 einzugeben. Zur Erklärung soll angenommen werden, daß die älteste, in der Sendeunterbrechungswarteschlange in 104 anstehende Angabe der Status und die Leitungsadresse der übertragungsleitung 203 ist. Das entsprechende Byte dazu hat das Format "SSSLLLLL", worin S Statusbits und L Leitungsadreß-
BC 977 003/004 909823/0574
: - 25 -
bits sind. Die Eingabeinstruktion für die Steuereinheit nimmt (dieses Status- und Leitungsadreß-Byte aus 104 auf und über- !führt es über den Dateneingabekanal 44 in das RO- und R1-Register im Block 102 der Steuereinheit gemäß Fig. 3. Das Ausgabebyte in der Warteschlange in 104 wird über den Kanal jin die Register A und B, 148 und 150, gemäß Fig. 3 der Steuer-
!einheit eingegeben. Die vier Bits im A-Register 148 werden jdann über die ALU 152 zum Vier-Bit-Register RO im Block 102 überführt. Darauf werden die vier Bits im B-Register 150 ebenfalls über die ALU in das Vier-Bit-Register R1 des Blocks 102 übertragen.
Danach wird eine Ausgabeinstruktion gegeben, um den Leitungsadreßwert im Block 102 in das Steuerleitungsadreßregister JSLAR 38 gemäß Fig. 2 und in das Abtaster-Leitungsadreßregister JkLAR 114 gemäß Fig. 5b über den Datenausgabekanal 46 zu überführen. Das Unterbrechungsbyte im Block 102 wird in das jk- und B-Register 148 und 150 eingegeben, dabei vier Bits in das Α-Register und die nächsten vier Bits in das B-Register, per kombinierte Wert in den A- und B-Registern 148 und 150 wird, lann auf den Datenausgabekanal 46 gegeben und die Steueradresse, lie die gleiche für den SLAR 38 und den ALAR 114 ist, wird ^uf den Steueradreßkanal 41 gegeben. Dabei wird das fünf Bits lange Leitungsadreßfeld auf dem Datenausgabekanal 46 sowohl in den SLAR 38 als auch den ALAR 114 eingegeben. Das drei Bits Lange Statusfeld wird nicht zu diesen beiden Registern : Überträgen, weil für sie keine Verdrahtung zwischen dem Kanal 46 und den Registern 38 und 114 vorgesehen ist.
Die Eingabe der Leitungsadresse für die Leitung 203 in den 3LAR 38 gemäß Fig. 2 ermöglicht die Adressierung des Leitungssteuerblocks im Speicher 132 für die übertragungsleitung 203. Das Steuerprogramm im FWS 128 gibt eine Leseinstruktion an, leren vier höchstwertige Bits den LeitungsSteuerblockbereich Lm Speicherblock 132 ansprechen. Somit wirken die Leitungs-
Bc 977 003/004 909823/0574
adreßbits im SLAR 38 bei der Anwahl des LSB für die übertragungsleitung 203. Die niedrigerwertigen Adreßbits auf dem
Speicheradreßkanal 206 wählen gleichzeitig das erste Byte im
zwei Bytes breiten Datenpuffer des angewählten LSB an. Damit
wird das erste Datenbyte erfaßt, das vorher im LSB-Datenpuffer gespeichert wurde, und dieses Datenbyte wird nun in die vier
Bits breiten Register RO und R1 im Block 100 eingesetzt. Dies
erfolgt über den Speicherausgabekanal 157, den Wähler 145,
den Kanal 146, das A- und B-Register 148 und 150 sowie die
ALU 152.
Das Steuerprogramm im FWS 128 gibt dann eine Ausgabeinstruktion ab zur übertragung des Datenbytes aus dem Block 100 zum Daten- , register 112 im Abtaster gemäß Fig. 5. Dies erfolgt über den
Ausgabekanal 110, den Wähler 145, den Kanal 146, das A- und
das B-Register und den Datenausgabekanal 46. Des weiteren
wird die auf dem Adreßkanal 41 für diese Ausgabeinstruktion
anstehende Steueradresse in den Funktionsdecoder 110 gemäß Fig. 5 eingegeben, um damit weitere Steuerinformationen
dem Abtaster zur Verfügung zu stellen. Das Datenbyte im Daten- : 'register 112 gemäß Fig. 5 wird dann in den Sendepuffer 115 j des Speicherblocks 102 in Fig. 5 auf den darin enthaltenen j Sendepufferplatz für die Leitung 203 überführt. Die Adressie- j rung des richtigen Sendepufferplatzes wird mittels der j Leitungsadresse im ALAR 114 durchgeführt. Danach wird das j Datenbyte für die übertragungsleitung 203 in das Serialisierer-j Deserialisierer-Register 119 übertragen und seriell über die : übertragungsleitung 203 ausgesendet.
jWenn der Abtaster gemäß Fig. 5 wieder ein Datenbit für die : Leitung 203 benötigt, wenn der Sendepuffer leer gelaufen ist, wird dieses Bit vom zweiten Byte im LSB-Datenpuffer ! des Leitungssteuerblocks der Leitung 203 im Speicher 132 genommen. Nach übertragung des zweiten Datenbytes in den Sende-
BC 977 003/004 909823/0574
!puffer 115 gemäß Fig. 5 wird eine weitere Unterbrechungs-Ianforderung in die Warteschlange in 104 für die Leitung tgegeben; jetzt ist jedoch das Statusfeld derart markiert, daß noch mehr Daten aus der CPU zu holen und in den LSB !für 203 einzugeben sind. Wenn dieser neuen Unterbrechungs- :anforderung durch das Steuerprogramm in der Steuereinheit !gemäß Fig. 3 entsprochen ist, gibt die Steuereinheit eine weitere Zyklusunterbrechungsanforderung an die CPU, um dabei die übertragung eines weiteren Datenworts von zwei Bytes aus der CPU zur Steuereinheit gemäß Fig. 3 über den Kanalanschluß gemäß Fig. 2 zu übertragen. Dieses Datenwort wird ■dann wiederum in den LSB-Datenpuffer der Leitung 203, wie schon
vorbeschrieben, eingegeben,
i
jEs wurde erläutert, wie die aus der CPU auf die Übertragungsleitung 203 zu übertragenden Daten jeweils zu zwei Bytes in ;den Leitungssteuerblock-Datenpuffer übertragen werden. Die Daten werden dann byteweise aus dem LSB-Datenpuffer zum Sendejpuffer im Abtaster gemäß Fig. 5 übertragen. Dieses Verfahren !setzt sich fort, bis alle Daten einer betrachteten Eingabe/ Ausgabe-Instruktion in den Abtaster übertragen und über die übertragungsleitung 203 seriell ausgesendet sind. Es erübrigt isich wohl, darauf hinzuweisen, daß gleichartige Instruktionen ,zur selben Zeit zeitmultiplex für eine oder noch mehr wei- j tere Übertragungsleitungen ablaufen können. '
Datenübertragung aus dem Abtaster zur CPU
Nun soll beschrieben werden, wie Daten in der umgekehrten Richtung, nämlich aus dem Abtaster gemäß Fig. 5 zur CPU, an die der betrachtete PAT angeschlossen ist, übertragen !werden. Es handelt sich dabei um Empfangsoperationen, weil jdabei Daten verarbeitet werden, die über eine oder mehrere Übertragungsleitungen empfangen werden. Der Abtaster führt die Deserialisierung der einzelnen empfangenen Bytes durch, wobei
äc 977 003/004 909823/05 7 4
die Datenbytes in die Empfangswarteschlange in 108 gemäß Fig. 5c eingegeben werden. Immer dann, wenn ein Datenbyte in die Empfangswarteschlange in 108 eingesetzt wird, wird auch eine Leitungsadresse mit Statusbyte im Format SSSLLLLL in 108 eingesetzt. Die fünf Leitungsadreßbits LLLLL werden zur Identifizierung der entsprechenden Übertragungsleitung ver- ; wendet. Das SSS-FeId ist das Statusfeld; es dient hier zur Anzeige, wenn in 108 ein gültiges, zu verarbeitendes Datenbyte ansteht.
Zur Erleichterung des Verständnisses soll die detaillierte Erläuterung anhand einer bestimmten übertragungsleitung, näm- · lieh z.B. der Übertragungsleitung 215, erfolgen. Es wird dabei angenommen, daß die Datenübertragung zur CPU wiederum in einer I Zyklusunterbrechungsweise erfolgt und daß bereits mehrere Dateribytes von der Leitung 215 zur CPU übertragen worden sind. j
,Der Abtaster gemäß Fig. 5 deserialisiert ein neu angekommenes i !Datenbyte, wobei dieses Datenbyte zusammen mit der Leitungsiadresse und dem Statusfeld in die Warteschlange in 108 eingesetzt wird. Irgendwann wird dieses Datenbyte und das Byte mit ι der Leitungsadresse und dem Status den Ausgang der Empfangs-Iwarteschlange in 108 erreichen. Danach soll das Aufgabenver- !teilerprogramm in der Steuereinheit gemäß Fig. 3 andere Aufgaben höherer Priorität vollendet haben, die gerade anstanden, und sieht dann nach der Empfangswarteschlange in 108, um zu erkennen, ob etwas zu tun ist. Dies erfolgt unter Abtastung des SSS-Statusfelds am Ausgang der Empfangswarteschlange in 1Oi Während jetzt das Datenbyte der Leitung 215 am Ausgang ansteht läßt das zugehörige SSS-FeId erkennen, was zu tun ist. Infolge-*· dessen beginnt der Aufgabenverteiler eine Empfangsoperation. Er teilt dem Steuerprogramm im FWS 128 mit, daß nach einer Mikrocoderoutine zur Durchführung einer Empfangsoperation zu verzweigen ist.
BC 977 003/004 809823/0574
! - 29 -
Als ersten Hauptschritt in dieser Empfangsroutine gibt der FWS 128 eine Eingabeinstruktion aus für die Übertragung des Status- und Adreßbytes am Ausgang der Empfangswarteschlange :in 108 in die vier Bits breiten Register RO und R1 des Blocks 100 in der Steuereinheit. Dies erfolgt über den Datenieingabekanal 44, das A- und B-Register 148 bzw. 150 und die !ALU 152.
Die nächste Hauptinstruktion der Empfangsroutine ist eine Ausgabeinstruktion, die die fünf Bits breite Leitungsadresse aus dem Block 100 in das SLAR 38 und in das ALAR 114 überträgt, pies erfolgt über den Ausgabekanal 110, den Wähler 145, das A- und das B-Register und den Datenausgabekanal 46.
Der nächste Hauptschritt in der Empfangsroutine ist wieder ■eine Eingabeinstruktion für die Übertragung des Datenbytes am Ausgang der Empfangswarteschlange in 108 zu den Registern RO und R1 im Block 100. Dies erfolgt wiederum über den Dateneingabekanal 44, das A- und B-Register und die ALU.
Der nächste Hauptschritt in der Empfangsroutine ist eine Speicherinstruktion zur Übertragung des Datenbytes aus dem Block 100 in den Speicher 132 und zur Eingabe in die erste Byteposition im zwei Bytes breiten Datenpuffer im Leitungssteuerblock für die Leitung 215. Die Auswahl des richtigen LSB wird durch fünf Adreßbits gesteuert, die dem Speicher 132 über den Kanal 39 vom SLAR 38 zugeführt werden. Die Datenbewegung aus dem Block 100 zum Speicher 132 erfolgt über den Ausgabekanal 110, den Wähler 145, das A- und das B-Register und den Datensingabekanal 213. Da es sich dabei um das erste Datenbyte, hanäelt, das in den zwei Bytes breiten Datenpuffer des betrachbeten LSB eingesetzt wird, wird das zugehörige Anzeigebit im LSB zur Anzeige eingeschaltet, daß ein weiteres Datenbyte aenötigt wird, bevor eine Übertragung zur CPU erfolgt. Die ^mpfangsroutine teilt dann dem Aufgabenverteiler mit, daß die
BC"977" OÖ3/OÖ4
809823/0570
- 30 anstehende Aufgabe bis dahin durchgeführt worden ist.
Irgendwann danach wird das nächste über die Leitung 215 empfangene Datenbyte im Abtaster deserialisiert und in die Empfangswarteschlange in 108 eingesetzt; darin arbeitet es sich dann schrittweise zum Ausgang der Warteschlange durch. Dann prüft der Aufgabenverteiler wiederum die Warteschlange in und erkennt, daß eine Arbeit zu tun ist; in diesem Falle ist das neue Datenbyte von der Leitung 215 im LSB für die Leitung 215 einzusetzen. Dies erfolgt in der gleichen Weise wie vorbeschrieben, mit der Ausnahme jedoch, daß das neue Datenbyte jetzt in die zweite Byteposition im Datenpuffer des LSB eingegeben wird.
Obwohl der LSB-Datenpuffer jetzt voll ist, endet die Empfangsmikrocoderoutine nicht, sondern führt einige weitere Schritte durch, um das zwei Bytes lange Datenwort im LSB-Datenpuffer zur CPU zu übertragen. Zwei aufeinanderfolgende Lese- und Ausgabeinstruktionen laufen für die aufeinanderfolgende Übertragung der beiden Datenbytes aus dem LSB-Datenpuffer in den Block 100 und zur Weiterführung in die Zyklusunterbrechungs-.Dateneingaberegister 67 im Kanalanschluß gemäß Fig. 2 ab. Die erste Ausgabeinstruktion setzt das erste LSB-Datenpufferbyte in das linke Dateneingaberegister 67 und die zweite Ausgabeinstruktion setzt das zweite LSB-Datenpufferbyte in das rechte JDateneingaberegister 67 ein. Weitere Instruktionen werden gegeben zur Übertragung der HauptSpeicheradresse der übertragungsleitung 215 im Zyklusunterbrechungsadreßregister 74 zu den Zyklusunterbrechungsadreßregistern 71 und 73. Des weiteren j wird das Ausgabe/Eingabe-Anzeigeverriegelungsglied 209 eingeschaltet zur Mitteilung einer Eingabeoperation an die CPU. Das Zyklusunterbrechungsanforderungsverriegelungsglied 210 wird j eingeschaltet, um eine Zyklusunterbrechungsanforderung über i die Zyklusunterbrechungsanforderungsleitung des CPU-Anforde- I rungskanals 52 zu geben.
BC 977 003/004 909823/0574
j - 31 -
lNach Kenntnisnahme der Zyklusunterbrechungsanforderung seitens jder CPU werden die Zyklusunterbrechungsfolgegatter 84 betätigt, jum das zwei Bytes lange Datenwort in den Registern 67 zum icPÜ-Datenkanal 212 zu bringen; die Zyklusunterbrechungsfolge-■gatter 86 werden ebenfalls betätigt, um die Hauptspeicheradresse aus den Registern 71 und 73 zum CPU-Adreßkanal 211 gelangen zu lassen. Die CPU überträgt dann das Datenwort vom Kanal 212 in ihren Hauptspeicher und zwar bei der Adresse, die mittels des Adreßkanals 211 angegeben wird. Nach Aufnahme des Bestätigungssignals von der CPU kennzeichnet die Steuerpro-,grammempfangsroutine dem Aufgabenverteiler, daß die gegenwärtige Arbeit beendet ist; darauf bestimmt der Aufgabenver-.'teiler, welche neue Aufgabe seitens der Steuereinheit gemäß Fig. 3 abzuwickeln ist.
Daten werden also vom Abtaster gemäß Fig. 5 zum entsprechenden LSB in der Fig. 3 in einzelnen Bytes übertragen. Immer dann, wenn zwei Bytes im Datenpuffer des LSB vereinigt sind, werden diese beiden Bytes vom LSB zur CPU über die Zyklusunterbrechungsdateneingaberegister 67 im Kanalanschluß gemäß Fig. 2 übertragen. Diese Datenübertragung aus der Empfangswarteschlange in 108 zum Leitungssteuerblock und weiter zur CPU läuft solange weiter, bis alle Daten entsprechend der betrachteten Eingabe/Ausgabe-Instruktion für die Leitung umgesetzt worden sind.
Der Abtaster entsprechend Fign. 4, 7 und 5 soll nun kurz näher betrachtet werden. Der Abtaster enthält unter anderem eine Abtasttabelle ige·, ein Abtasttabellenadreßregister 251, einen Schaltring 252, ein Leitungsadreßgatter 253, einen Steuerspeicher 102 sowie eine Sende- und Empfangs-Steuerlogik in Form von drei programm-logischen Anordnungen (PLA) 118a, 118b und 118c.
BC 977 OÖ3/ÖÖ4
909823/057.4
Der Steuerspeicher I92 enthält eine Vielzahl von Speicherbe- ; reichen, deren jeder einzelne einer Übertragungsleitung züge- '■ ordnet ist. Jeder Speicherbereich umfaßt eine Vielzahl von : Feldern oder Registern I9I, I93, I95, I97, I99, 111, 113, 115, '. 119 und 121, wie dies in den Fign. 5b und 5c dargestellt ist.
Dieser Steuerspeicher ermöglicht in Zusammenarbeit mit der
programm-logischen Anordnung 118 für die einzelnen Übertragungsleitungen den Folgeverlauf der Operationen, der für die
Datenübertragung zwischen einer übertragungsleitung und dem i Register 119 gemäß Fig. 5c, das der Serialisierung und Deserialisierung dient, ablaufen soll. Alle diese Register 1Q1 ; bis 121 sind für sämtliche an den Abtaster angeschlossenen
Übertragungsleitungen doppelt vorgesehen. Die Funktionen dieser Speicherregister im einzelnen sollen noch beschrieben : werden. I
Für den Augenblick reicht jedoch die Erklärung der Funktionen i von 113, 115 und 119. Das Register 119 für die Serialisie- \ rung und Deserialisierung dient als Register zur Bereithaltung der Zeichenbits, so wie sie über die übertragungsleitung ge- · sendet oder empfangen werden. Die Anordnung 118 führt jeweils j die Serialisierung oder Deserialisierung bitweise übertrageher Daten durch und weiter die zeichenweise Übertragung aus j 119 zur Warteschlange in 108 gemäß Fig. 5c. Das Sendejpufferfeld 115 bietet eine weitere Puffermöglichkeit
zwischen dem LSB-Bereich im Steuerspeieher 130 und dem Feld
h19 an. i
i Das Register 113 speichert Adreß- und logische Auswahlbits zur .
\uswahl der speziellen logischen Schaltkreise in der programm- ! Logischen Anordnung 118. Immer dann, wenn aus dem Steuer- ; speicher I92 ausgelesen wird, wählt seine Information im Regi- ■ 3ter 113 die Logik für die Durchführung der verlangten Funk- \ bionen aus, wenn etwas ablaufen soll. Wenn Funktionen ablaufen, Dringt die Anordnung 118 den Inhalt des Feldes in 113 auf
977 003/004 909823/0574
den neuesten Stand. Auf ähnliche Weise werden andere Felder, wie z.B. im Bitfolgezähler und im Zeitgabezähler, auf den neuesten Stand gebracht, wenn ihr Steuerspeicherplatz angesprochen wird.
Der Zugriff zu den Steuerspeicherplätzen erfolgt mittels Leitungsadressen, die im ALAR 114 und in der Abtasttabelle 1QO ■gespeichert sind. Fig. 6 erläutert die Art und Weise des Zugriffs zum Steuerspeicher 10,2 mittels des ALAR 114 und der IAbtasttabelle I90. In jedem fünften Schritt wird der Steuereinheit gemäß Fig. 3 Zugriff zum Steuerspeicher I92 gewährt junter Verwendung der Adresse im ALAR 114 und der Gatter 253. jDie nächsten vier Schritte des Zugriffs zum Steuerspeicher 10,2 ;sind für die Abtasttabelle 100 bestimmt. Wenn die Steuereinheit !gemäß Fig. 3 Zugriff zum Steuerspeicher 10,2 nimmt, um Daten !in den Steuerspeicher zu stellen, werden die Daten über das jDatenregister 112 und die Eingabegatter 255a bis 255e dem ,Steuerspeicher 10,2 zur Verfugung gestellt. Wenn die Steuereinheit Daten aus dem Steuer speicher 10,2 ausliest, werden die Daten zur Steuereinheit über die Gatter 256 und das Datenregister 112 übertragen, wobei wiederum Gebrauch von der !Adresse im ALAR 114 gemacht wird. Die Felder in den Steuerspei-r cherregistern werden durch die Speichersteuerung 290 mittels des Funktionsdecoders 110 ausgewählt.
'Wenn der Steuerspeicher 102 und die zugeordnete Anordnung ,zur Steuerung des Sendens und des Empfangs Steuerfunktionen ausführen, erfolgt die Adressierung des Steuerspeichers 10,2 mittels der Abtasttabelle I90. Beim betrachteten Ausführungsbei- ' spiel enthält die Abtasttabelle I90 32 Speicherplätze, deren ] jeder die Leitungsadresse einer der Übertragungsleitungen und dazu den Steuerspeicherplatz für die entsprechende Übertragungsleitung enthält. Beim Ausführungsbeispiel kann der PAT 32 j Leitungen über entsprechende Leitungsanschlüsse bedienen.
977 003/004 009825/0574
So wie die Abtasttabelle I90 32 Speicherplätze für die 32 Lei- : tungen enthält, weist der Steuerspeicher 102 32 Plätze auf, deren jeder mit dem Empfang und dem Senden zusammenhängende Informationen für die entsprechenden Übertragungsleitungen enthält. Wenn weniger als 32 Leitungen angeschlossen werden, werden die nicht benötigten Positionen in der Abtasttabelle 1QQ freigelassen und ebenso der übrigbleibende Raum im Steuerspeicher 10,2. Augenmerk muß darauf gerichtet werden, daß die gleichen fünf Bits als Leitungsadresse verwendet werden, als Adresse für die zugehörige Position im Steuerspeicher 10,2 und als indirekte Adreßbits für den Zugriff zum LSB für die entsprechende Leitung.
Es soll der Fall betrachtet werden, daß weniger als 32 Leitungen angeschlossen sind. Die übrigbleibenden Plätze in der Abtasttabelle können dann für die Bevorrechtigung einiger Leitungen beim Senden und Empfangen benutzt werden. Wie in den oberen drei Zeilen der Fig. 6 dargestellt ist, können bevorrechtigte Hochgeschwindigkeitsleitungen häufiger bedient werden als Leitungen mit niedriger Geschwindigkeit, indem die Adressen der Hochgeschwindigkeitsleitungen in der Abtasttabelle zwei- oder mehrfach vorgesehen werden. Wenn die 32 Positionen der Abtasttabelle 100 pro Abtastzyklus erfaßt werden, werden die Leitungen mit höherer Priorität und ihre zugeordneten Steuerspeicherplätze in einem Zyklus so oft erfaßt, wie ihre Adresse in der Abtasttabelle 10,0 gespeichert steht.
Der aufeinanderfolgende Zugriff zur Abtasttabelle wird mittels des Abtasttabellenadreßregisters 251 durchgeführt, in welchem bei jeder Schrittzeit zur Erfassung einer Leitungsadresse zur nächstfolgenden Abtasttabellenposition vorangeschritten wird.
BC 977 003/004 009823/0574
j - 35 -
per Empfang eines aus mehreren Bits bestehenden Datenzeichens ;in den Abtaster über die Leitung O (Fig. 5a) soll nun anhand !eines asynchronen Empfangsbeispiels beschrieben werden. Es soll angenommen werden, daß der Steuerspeicherplatz für !die Leitung 0, über die Daten empfangen werden, bereits angejsprochen ist und daß das zugehörige Feld in 119 leer ist. Der jsteuerspeicherplatz wird durch das Leitungsadreßregister 114 jwährend jedes einzelnen Zyklus ein oder mehrere Male erfaßt,
ίje nach—dem, wie oft die zugehörige Adresse in der Abtastitabelle 10,0 enthalten ist. Wie noch beschrieben werden wird, wird jedes Mal, wenn der SteurSpeicherplatz ausgelesen wird, die Anordnung 118 mit dem dafür vorgesehenen Feld auf dem ■SteuerSpeicherplatz angewählt, um die nächstfolgende Funktion !durchzuführen. Jedoch benötigen die speziellen Funktionen für !den Datenempfang verschiedene Steuerspeichereingaben. Jedes jMal, wenn ein entsprechender Steuerspeicherplatz nach Angabe !der Abtasttabelle I90 ausgelesen wird, reagiert die Anordnung 118 auf die jeweilige Zeitgabezählung und die zugejführten Steuerbits, bis alle Einzelheiten zur Durchführung seiner Funktion abgelaufen sind. Die Anordnung 118 wickelt die entsprechende Funktion ab und bringt die Information 'auf dem Steuerspeicherplatz wie erforderlich auf den neueisten Stand. Die einzelnen aufeinanderfolgenden Operationen laufen ab, so wie die Eingaben in die Steueranordnung 118 erfolgen.
Wenn die kurz als "CYBITS" bezeichneten Zyklusbits für die Leitung 0 und weitere Eingaben, die erforderlich sind, anstehen, wird ein Auslesen des Steuerspeicherplatzes der Leitung 0 die Ausgabe "STARTBIT-FOLGEFREQUENZ-TAKT" ergeben. Die Anordnung 118 antwortet darauf mit Einsetzung eines Bits in das Feld in 10,9 des Steuerspeicherplatzes, um dabei eine Abwärts zählung für die Leitung 0 wirksam zu machen. Während der nächsten Auslesung des SteuerSpeicherplatzes wird die Bitfolgekonstante im Feld 10,1 in das Bitfolgezählerfeld in 10,3
BC 977 003/004 00082 3/0574
übertragen. Bei jeder nachfolgenden Auslesung des Steuerspei- ' cherplatzes durch die Abtasttabelle igo wird die Bitfolge- · zählung um 1 verringert, bis der Zählstand 0 erreicht ist; dabei wird ein Bitmittenimpuls erzeugt, der kennzeichnet, daß das Startbit der empfangenen Daten verfügbar ist. Wenn die letzte erforderliche Funktion ausgeführt ist, wird das ■ Feld in 119 gelöscht.
Während der nachfolgenden Auslesungen des SteuerSpeicherplatzes wird das Bitfolgezählerfeld in 10,3 vom Konstantenfeld in 10,1 geladen und dann auf 0 herabgezählt. Das erste Erreichen der Nullbedingung kennzeichnet eine Bitgrenze, das zweite Erreichen die Bitmitte des ersten Datenbits.
Das erste Empfangsdatenbit steht jetzt an über die Leitung 0, den Empfänger 275-0, das Gatter 276-0, den Kanal i 277, das Register 174 und den Kanal 175; es wird der Empfangs- '. datenleitung 260 der Anordnung 118 gemäß Fig. 7 angeboten. | Nun erfolgt die Eingabe in den Verschieber 120. Abhängig von j der empfangenen Datenart, wie dies durch das Leitungsdefinitionsfeld in 121 im entsprechenden Steuerdatenfeld angegeben ist, wird das erste empfangene Datenbit mittels des Ver- I Schiebers 120 verschoben und in die entsprechende Bitposi- | tion des acht Bits großen Feldes in 119 des zugehörigen Steuerspeicherplatzes eingegeben. Das Leitungsdefinitionsfeld in 121 kennzeichnet Zeichen von 1 bis 8 Bits. Für die vorliegende Beschreibung soll angenommen werden, daß ein Zeichen mit Jacht Bits empfangen wird und daß der Steuerspeicherplatz für die Leitung 0, über die die betrachteten Daten empfangen werden, zyklisch, wie in Fig. 6 angedeutet, abgetastet wird, bis das nächste Empfangsdatenbit am Leitungsanschluß 0 erkannt und .über die Empfangsdatenleitung 260 zum Verschieber 120 über-
tragen wird. Während dieser Zeit wird die Bitfolgezählung zweimal gestartet und bis auf 0 herabgezählt. Wenn jedoch
BC 977 003/004 009823/0 5
die Empfangsdaten auf der Leitung 260 verfügbar sind, stehen die zugehörigen Zeitgabe- und Steuersignale einschließlich der entsprechenden CYBITS für die Anordnung 118 bereit, so daß das nächste Datenbit in den Verschieber 120 eingegeben werden kann. Zur gleichen Zeit, in der das erste Bit im Serialisierer/Deserialisiererfeld in 119 (im folgenden kurz als SER-DESER bezeichnet) einläuft, steht es auch im zugehörigen Verschieber 120. Der Verschieber 120 wird dazu benutzt, die Datenbits in die ordnungsgemäßen Bitpositionen hineinzustellen, in welchen sie dann in das Feld in 119 des entsprechenden Steuerspeicherplatzes übertragen werden. Auf ähnliche Weise werden die nächsten sechs Bits in den SER-DESER-Verschieber 120 eingegeben und dann in das Feld in 119 übergeben. Aufeinanderfolgender Zugriff zum Steuerspeicherplatz läßt die aufeinanderfolgenden Schritte ablaufen, wobei der Status und die Leitungsadresse in die Empfangswarteschlange in 108 eingegeben werden und die Empfangszeichen daneben in die Empfangswarteschlange eingeschrieben werden. Die Daten werden vom Feld in 119 über die Anordnung 118, den Kanal 262 !und das Gatter 263 in die Empfangswarteschlange in 108 übertragen. Das Feld in 119 des zugehörigen Steuerspeicher- ; ■ platzes wird in Vorbereitung auf den Empfang des nächstfol- '■ jgenden Zeichens gelöscht. '
j Zur gleichen Zeit, zu der neue Empfangsdaten vom Feld in {119 zur Empfangswarteschlange in 108 übertragen werden, über- ■ trägt die Warteschlangensteuerung 264 die Empfangswarteschlangenstatusbits, die die Art der übertragenen Daten identi-*
fizieren, in die Empfangswarteschlange. Z.B. mögen die gerade ; betrachteten Daten Nutzdaten sein, Statusdaten oder Steuerjwortdaten. Im gleichen Zeitintervall, in dem die Ausgabe der Leitungsadresse über das Gatter 253 erfolgt, wird sie über ! einen Kanal 266 und ein Gatter 268 in die Empfangswarte-
BC 977 003/004 ÖÖ9823/0574
schlange in 108 eingegeben. Die entsprechende Eingabe umfaßt dabei drei verschiedene Datensorten: Die Statusbits, die die Art von Daten kennzeichnen, die Leitungsadresse,- über die die Daten empfangen worden sind, und die Nutzdaten selbst. Diese Informationen werden innerhalb der Warteschlange in 108 bis zum Ausgang weitergerückt.
Unter Programmsteuerung übernimmt die Steuereinheit Daten, : Leitungsadresse und Datenart zu den Registern in der Steuerein-* heit. Die Leitungsadresse wird in das SLAR 38 und das Datenzei-i chen selbst in den zur Leitung O gehörigen LSB übertragen.
Wenn ein Nachrichtenendezeichen (EOT) auf einer bestimmten Leitung empfangen, in der Empfangswarteschlange in 108 gespeichert und anschließend in die Steuereinheit übertragen ! wird, erkennt die Steuereinheit dieses Zeichen und setzt ein { Markierungszeichen und die Leitungsadresse in die Warte- ; schlange in 108 über ALAR 114, D-Register 112 und die Gatter ; 268 und 263. .
Die Steuereinheit behandelt Zeichen, die für die betrachtete | Leitung in die Warteschlange zwischen dem EOT-Zeichen und dem Markierungszeichen eingegeben werden, als ungültig.
Die Warteschlange in 108 ist beim betrachteten Ausführungsjbeispiel als durchlaufendes Parallelschieberegister bekannter Bauart ausgeführt, welches Daten von seiner Eingabeseite zur Ausgabeseite in einer Zeit durchgibt, die kleiner ist, als sie die Steuereinheit für den Zugriff zur Ausgabeseite benötigt.
BC 977 003/004 ÖOÖÖ23/057-4
Aufeinanderfolgende Eingaben werden schrittweise hinter den vorangehend zugeführten Eingaben weitergerückt. Die Warteschlange in 108 enthält im übrigen auch Vorkehrungen zur Kennzeichnung, ob die Warteschlange leer oder besetzt ist.
j Die Warteschlange in 104 für das Senden ist ähnlich konstru- ;iert.
j Die Übertragung von Daten vom Steuerspeicher 10,2 zum Anschluß j der Leitung 0 soll nun beschrieben werden. Der Zugriff zu den i Speicherplätzen im Steuerspeicher 10,2 mittels der Abtasttabelle 190 und der Steuereinheit über das ALAR 114 erfolgt im wesentlichen in der gleichen Weise, wie dies für den Empfang von Daten beschrieben wurde. Während eines Durchlaufs der Abtattabelle werden sämtliche Adressen in der Abtasttabelle 10,0 nacheinanderfolgend erfaßt, um dabei Plätze im Steuerspeicher 1O2 für die Abwicklung von Operationen anzuwählen. Diese [Zugriffe zum Steuerspeicher 10,2 erfolgen verschachtelt mit SteuereinheitsZugriffen, wie dies in Fig. 6 dargestellt ist.
Sendefunktionen und Empfangsfunktionen laufen in ähnlicher Weise ab, ausgenommen jedoch, daß das Bitgrenzensignal anstelle des Bitmittensignals zur Zeitgabe für das Bitsenden benutzt | wird. i
Für die Beschreibung soll angenommen werden, daß die Datenübertragung von der Steuereinheit zum mit der Leitung 0 verbundenen Anschluß 0 bereits eingeleitet worden ist und daß wenigstens die ersten beiden für die übertragung vorgesehenen Zeichen im Feld in 119 und im Sendepuffer in 115 des zum Anschluß 0 gehörenden SteuerSpeicherplatzes stehen. Die Abtasttabelle 10/} ,wird zyklisch durchgefahren, um dabei aufeinanderfolgend die Steuerspeicherplätze einschließlich des
BC 977 003/004 " " " j"q 9 g 2 3/ 0 5 7
Platzes für den Anschluß 0 auszulesen. Immer dann, wenn dieser Platz erfaßt wird, wird das im Feld in 119 gespeicherte Zeichen zur Anordnung 118 übertragen. Nach Durchführung der einleitenden Funktionen ist das erste Bit des Zeichens in bereit für die Übertragung. Wenn der SteuerSpeicherplatz das nächste Mal ausgelesen wird und das Zeichen aus dem zugehörigen Feld in 119 nach 118 übertragen worden ist, wird das erste Bit des Zeichens zum Anschluß 0 über den Verschieber gemäß Fig. 7, die Sendedatenleitung 171 gemäß Fig. 5c, die Einzelsteuerungen 116 gemäß Fig. 5b, die Ausgangsleitung 177 der Steuerungen 116 zu den Sendeverriegelungsgliedern 270-0 bis 270-N gemäß Fig. 5a übertragen. Gleichzeitig wird ein Sendegattersignal aus 118b gemäß Fig. 5c über die Sendedatengatterleitung 173 und die Einzelsteuerungen 116 zu den Sendeverriegelungsgliedern 270-0 bis 270-N ausgegeben. Der Empfang dieser beiden Signale bereitet das Sendeverriegelungsglied 270-0 vor. Zur gleichen Zeit wird die Adresse der Leitung 0, die an der Ausgabeseite der Gatter 253 gemäß Fig. 5b erscheint, dem Adreßdecoder 280 gemäß Fig. 5b angeboten. Die Ausgabe über 285 des Adreßdecoders 280 wird allen Einzeldecodern 271-0 bis 271-N gemäß Fig. 5a zugeleitet. Da die Adresse der Leitung 0 dem Adreßdecoder 280 zugeführt wurde, wird nur der Einzeldecoder 271-0 wirksam, um ein Ausgangssignal zum Sendeverriegelungsglied 270-0 gelangen zu lassen. Dabei wird nur das Sendeverriegelungsglied 270-0 der Leitung 0 eingeschaltet, wenn ein zu übertragendes Bit 1 ankommt. Solange das Verriegelungsglied 270-0 eingeschaltet ist, gibt es dem Leitungstreiber 272-0 für die Leitung 0 ein Ausgangssignal. Dieses endet erst dann, wenn es beim nächsten zu sendenden Bit 0 ausgeschaltet wird.
Wie bei der vorangehenden Beschreibung einer Bitempfangsoperation gibt das Leitungsdefinitionsfeld in 121 im Steuerspeicher 1Q2 für die Leitung 0 entsprechende Steuerinformationen an den Verschieber 12O gemäß Fig. 7 ab zur Bestimmung, wieviele Bits zu einem Zeichen gehören und in welcher Richtung gelesen
BC 977 003/004 $09823/0574
die Bits zu übertragen sind, d.h. mit dem niedrigstwertigen Bit oder mit dem höchstwertigen Bit den anderen Bits voran.
In ähnlicher Weise werden sämtliche noch anstehenden Bits des Zeichens im Feld in 119 zur Leitung 0 übertragen, bis sämtliche Bits des Zeichens gesendet worden sind. Dann wird die Anord- :nung 118 wirksam für die Übertragung des nächsten Zeichens, ;das dann vom Sendepufferfeld in 115 im Steuerspeicher 1Q2 |in das zugehörige Feld in 119 zu übertragen ist.
Gleichzeitig überträgt die Anordnung 118 die Leitungsadresse ivom Ausgang der Gatter 253 gemäß Fig. 5b zur Warteschlange fin 104 gemäß Fig. 5c und zwar über den Ausgabekanal 266 und ■das Gatter 268. Die Warteschlangensteuerung 264 läßt ebenfalls 'die Unterbrechungsartdaten in die Warteschlange in 104 über den Kanal 127 gelangen. Die Unterbrechungswarteschlange in 104 hat über ihren Eingang nunmehr die Leitungsadresse O und die geforderte Ünterbrechungsart aufgenommen. Wie die Empfangsdatenwarteschlange in 108 besteht die Unterbrechungsjwarteschlange in 104 ebenfalls aus einem durchlaufenden parallelen Schieberegister, in welchem Daten von der Eingabeseite zur Ausgabeseite verschoben werden. Die dafür erforderliche Zeit ist sehr kurz im Vergleich zu der Zeit, die die Steuereinheit für die Durchführung eines Operations- : zyklus benötigt. Die Sendeunterbrechungswarteschlange in 104 : enthält des weiteren eine Vorkehrung zur Anzeige des Leer- >, oder Besetztzustandes. Mit der Adresse der Leitung 0 und der eingegebenen Unterbrechungsart erzeugt diese Vorkehrung ein Ünterbrechungsanforderungssignal über Leitung 287, die zum .Steuerblock 134 in Fig. 3a führt. Der Steuerblock 134 läßt Jdie Gesamtsteuereinheit am Ende der Ausführung des laufenden -Mikroprogrammworts eine Verzweigung zu einer Subroutine durchführen, die zur Abwicklung der Datensendefunktion verwendet wird.
BC 977 003/004 909823/05
Während dieser Subroutine werden die Sendeanforderungsunter- j brechungsdaten gelesen, die aus der Adresse der Leitung 0 und i der Unterbrechungsart bestehen. Unter Steuerung durch diese ; Subroutine überträgt die Steuereinheit die Leitungsadresse in i ihre Register und weiter in ihr SLAR 38 und das ALAR 114. ! Die Steuereinheit nimmt dann Zugriff zum der Leitung 0 zugeordneten LSB, wobei sie Gebrauch von der Leitungsadresse im : ALAR macht. Ein für das Senden über die Leitung 0 in Aussicht ! genommenes Datenbyte wird aus dem LSB im Speicher 132 gemäß Fig. 3b zum Datenregister 112 gemäß Fig. 5b übertragen. Unter Programmsteuerung stellt die Steuereinheit den Funktions-t decoder 110 ein, wobei die in diesen eingegebene Steuerinfor- \ mation eine Datenübertragung aus dem Register 112 in den ; Sendepuffer in 115 veranlaßt, wenn die Steuereinheit das nächste Mal Zugriff zum Steuerspeicher 1Q2 für die Leitung 0 nimmt. Das ALAR 114 dient zur Auswahl des richtigen Platzes
ι im Steuerspeicher 10,2. j
Nun soll wieder an den Teil der vorliegenden Beschreibung angeknüpft werden, nach dem das nächste zu übertragende Zeichen vom Sendepuffer in 115 zum Feld in 119 übertragen wurde. Während jeweils eines kompletten Abtastzyklus der Steuerspeicherplätze mittels der Abtasttabelle I90 kann jeweils nur eine Sendeanforderung gegeben werden. Dies wird überwacht durch die Einstellung eines nicht dargestellten Verriegelungsiglieds in der Warteschlangensteuerung 264. Dieses läßt eine neue Sendeunterbrechungsanforderung nur dann zu, wenn das Adreßregister 251 erneut die erste Adresse in der Abtasttabelle 190 erfaßt hat. Dann wird das betrachtete sperrende Verriegelungsglied in der Warteschlangensteuerung 264 gelöscht, um weitere abzuwickelnde Unterbrechungsanforderungen zu ermöglichen.
BC 977 003/004 809823/057
Der Zugriff zu den Speicherplätzen im Steuerspeicher 10,2 läuft in zyklischer Weise weiter. Alle jeweils im Register 119 gelspeicherten, über die Leitung O zu sendenden Zeichen werden junter Übersteuerung durch die Bitfolgezählung, das Leitungsjdefinitionsfeld und das CYBITS-FeId übertragen.
Der Kanalanschluß
Entsprechend Fig. 1 ist der Kanalanschluß gemäß Fig. 2 mit dem Eingabe/Ausgabe-Kanal eines handelsüblichen Computers über dessen Schnittstelle verbunden, wie sie z.B. in der deutschen Patentanmeldung P 27 19 278.5 beschrieben ist. Der Kanalanschluß ist dabei das Bindeglied zwischen dem programmierbaren Anlagenteil PAT nach der vorliegenden Erfindung und dem CPU- ;Kanal. Die Steuereinheit gemäß Fig. 3 arbeitet der CPU untergeordnet und wird von der CPU zum Beginn des Empfangs oder des Sendens über eine der 32 an den programmierbaren Abtaster gemäß Fign. 4, 7 und 5 angeschlossenen Leitungen aufgerufen. Solange der programmierbare Anlagenteil nach der Erfindung ' nicht durch ein Kommando von der CPU aufgerufen ist, bleibt : er in Ruhe. Ein solches Kommando reizt den PAT dazu an, Infor- , jmationen vom Eingabe/Ausgabe-Kanal oder von einer der 32 ange- ! ischlossenen Verbindungsleitungen zu holen und weiterzuleiten. !
! i
Die dazu für den Kanalanschluß gegebenen Vorbedingungen sind !
die folgenden:
1. Er muß bis zu 32 Einzeladressen von Leitungen beherrschen.
2. Er muß die Einleitung von Unterbrechungen der CPU seitens der vorgesehenen Steuereinheit erwirken können.
3. Er muß einen CRC-Generator und -Prüfer aufweisen.
4. Er muß logische Schaltkreise vorsehen für die Zusammenarbeit der Steuereinheit mit einer handbedienten Wartungskonsole.
BC 977 003/004 9Ö9823/0S74
Der Kanalanschluß gemäß Fig. 2 nach der vorliegenden Erfindung weist dazu die folgenden Hauptbestandteile auf: Bereichs-, Speicherplatz- und Identifikations-Bitfelder 10, 12 und 19. Die Bereichsbits markieren die Anzahl von Adressen eines zusammenhängenden Blocks von Adressen für den PAT. Eine von vier Größen ist wählbar; mit 4, 8, 16 oder 32 Einzeladressen, wobei unbenutzte Einzeladressen für Erweiterungen verfügbar sind. Wenn ein Bitfeld 000 angegeben ist, wird z.B. ein Bereich 4 bestimmt. Das Speicherplatzfeld im Block 12 defi-
niert die genaue Speicherplatzlage innerhalb des zur Verfügung , stehenden Adreßraums. Bei einem betrachteten handelsüblichen Computer sind z.B. 256 Adressen möglich.
Der Vergleicher 14 im PAT-Kanalanschluß vergleicht nach dem Bit-zu-Bit-Prinzip. Dateneingaben in den Adreßvergleicher vom Bereichs-, vom Identifikations- und vom Speicherplatz-Bitfeld sowie auch vom CPU-Adreßkanal sind vorgesehen. Sobald zwei Eingaben übereinstimmen, gibt der Vergleicher ein Signal "1" aus. Dieses Ausgabesignal informiert den Kanalanschluß des PAT, daß ein Eingabe/Ausgabe-Kommando von der CPU an den PAT vorliegt. Das Bereichs- und das Speicherplatz-Bitfeld wird mit der E/A-Kommando-Einzeladresse, die von der CPU kommt, im Vergleicher 14 verglichen. Dieser erkennt, wenn ein E/A-Kommando an einen der vorgesehenen Anschlüsse gerichtet ist. Wenn ein Speicherplatz und Bereich mit der ankommenden Adresse übereinstimmen, dann gibt der Vergleicher ein Ausgangssignal
1" ab, welches das gleichzeitig gegebene Schnittstellensignal nittels der Steuereinheit gemäß Fig. 3 interpretieren läßt. Steuereinheit liest dann die mit dem E/A-Kommando gegebenen Daten ein und handelt entsprechend.
BC 977 003/004 609823/0674
1 2643642
Das Identifikations-Bitfeld 19 ist das adreßmäßige Bindeglied des Kanalanschlusses nach der vorliegenden Erfindung zur vorgesehenen CPU, wenn eine Eingabe oder Ausgabe über eine ;der angeschlossenen Leitungen erfolgen soll.
Das Bereichs-Bitfeld 10. Bei einer Kanalanschluß-Konfiguration |mit mehreren Einzeladressen, die jedoch nicht das gesamte Volumen der insgesamt möglichen Adressen belegen, läßt die Angabe des Adreßbereichs für den Kanalanschluß das Volumen von gültigen E/A-Adressen erkennen. Vier Größen von Adreßbereichen können gewählt werden:
! 1-4 Adressen
5 - 8 Adressen
9-16 Adressen
17-32 Adressen
Der Bereich wird mittels dreier Bits bestimmt. Die entsprechenden Konfigurationen sind:
; Bits: Bis zu maximal:
0 0 0 vier Adressen
0 0 1 acht Adressen
0 10 sechzehn Adressen
1 0 0 zweiunddreißig Adressen
Der Übersetzer 20 zwischen dem Bereichsbitfeld und dem Identifikationslesegatter 21 zum CPU-Datenkanal übersetzt die vor-| ■stehend angegebenen Konfigurationen in ein Drei-Bit-Feld, ! welches die Bereichsangabe in eine binärcodierte Potenz von ; • zwei übersetzt:
BC 977 003/004 609823/0574
O O O
O O 1
O 1 O
1 O O
- 46 Bereichsangabebits: 2er-Potenz:
010 011 100 101
Speicherplatz-Bitfeld 12. Der für den programmierbaren Anlagen-i teil PAT nach der vorliegenden Erfindung zur Zusammenarbeit gewählte handelsübliche Computer habe einen Gesamtbereich von |256 Eingabe/Ausgabe-Einzeladressen; die einzelnen angeschlossenen Einheiten müssen sich in diesen Adreßrahmen teilen, wobei] jede Einheit ihre eigene, eindeutige Adresse haben muß. Im Falle des PAT mit den vorbeschriebenen variierbaren Bereichen 'dient das Speicherplatz-Bitfeld zur Angabe der Grundadressen.
Der Einzeladreßvergleicher 14 vergleicht die Bereichs- und die 'Speicherplatzbits mit den eingegebenen Adreßbits 8 bis 15 auf ;dem CPÜ-Adreßkanal. Die letztgenannten Bits umfassen während
leiner aufgerufenen Eingabe/Ausgabe-Operation acht Einzeladreß- ■ bits. Dieser Block entscheidet, ob eine Eingabe/Ausgabe-Adressej an den erfindungsgemäßen PAT gerichtet ist oder nicht. Wenn ' die Entscheidung ja ergibt, dann liegt die behandelte Einzel- j adresse im Bereich des PAT. Ein als "Anwahl" bezeichnetes jSignal wird eingeschaltet zur Kennzeichnung, daß über den Kanal leine Anwahl erfolgt ist. Eine weitere Aufgabe des Vergleichers !ist die Übersetzung der Einzeladreßbits in "relative Einzelladressen", die kurz als REA bezeichnet werden mögen. Bei den iREA handelt es sich um ein fünf Bits langes Feld im Binär-
bereich von 00000 bis 11111; mit ihm wird die interne PAT-
Adresse angegeben, unter der die einzelnen Leitungen mittels 'der verwendeten CPÜ bedient werden. Unabhängig vom angegebenen Bereich hat der PAT in jedem Fall die REA 00000, 00001, 00010 und 00011 zur Verfügung.
BC 977 003/004 " β 0 9 8 2 3 / 0~ 5 U
2548642
jvorbereitungsregister 16. Dieses vier Bits breite Register !hält binär codiert die Bits 11 bis 14 eines E/A-Kommandos Ifür eine Unterbrechung bereit, wenn die CPU irgendeine der !32 möglichen Leitungen ansprechen will. Es ist nur ein [Register für alle 32 Leitungen vorgesehen.
Steuerblock 22. Dieser Block enthält die zentrale Logik für die Kanalanschlußfunktionen. Die meisten zu den einzelnen Blöcken gemäß Fig. 2 gehenden Steuerleitungen entspringen in diesem Block. Der vom Dateneingabekanal 44 kommende Weg läßt Statusinformationen zum Steuerblock 22 gelangen. Die zum Identifikationslesegatter 21, zum Vorbereitungsregister 16 und zum Register 24 führenden Leitungen sind nur ein wesentlicher Teil der insgesamt vorgesehenen logischen Verbindungen.
'Wort 0/ Byte O-Register 23. Dieses sechs Bits breite Register nimmt die Bits 2 bis 7 vom CPU-Adreßkanal für die Steuereinheit auf.
Wort 1/ Byte O-Register 24. Dieses acht Bits breite Register hält die Bits 0 bis 7 vom CPU-Datenkanal für den Dateneingabekanal zur Steuereinheit als höherwertiges Byte eines zwei Bytes langen Wortes bereit.
Wort 1/ Byte 1-Register 26. Dieses acht Bits breite Register hält die Bits 8 bis 15 vom CPU-Datenkanal für den Dateneingabekanal zur Steuereinheit als niedrigerwertiges Byte eines zwei Bytes langen Wortes bereit.
Decoder 28 für die Einzeladressen. Dieser Block dient zur Anwahl eines der 32 Verriegelungsglieder in den Blöcken 30, 32 und 18, die noch erläutert werden.
BC 977 003/004 000823/0074
Rückstellverriegelungsglieder 30. Diese Anordnung von 32 Verriegelungsgliedern (je eines für jede Leitung) dient als Register zur Anzeige des Ruhezustandes der einzelnen Leitungen. Bei der Einschaltung dieser Verriegelungsglieder ist jegliche Betriebs- oder Unterbrechungsbedingung der zugehörigen Leitungen gelöscht. Der jeweilige Zustand wird für eine Ablesung durch die Steuereinheit gemäß Fig. 3 bereitgehalten.
BetriebsVerriegelungsglieder 32. Diese Anordnung von 32 Verriegelungsgliedern zeigt den Betriebszustand der anschließbaren 32 Leitungen an. Diese Verriegelungsglieder markieren über 34, wenn ein E/A-Kommando an einen Anschluß innerhalb des PAT gerichtet ist. Wenn eine relative Einzeladresse N für irgendeine E/A-Operation gegeben ist und das entsprechende Betriebsverriegelungsglied N eingeschaltet ist, wird mittels des ODER-Gliederblocks 34 der Bedingungscode "Einzelanschluß in Betrieb" gebildet. Die Einschaltung eines solchen Betriebsverriegelungsglieds ist eine Vorbedingung für die Steuereinheit, eine ünterbrechungsanforderung für den Einzelanschluß N geben zu können.
Unterbrechungs-Bit-Verrieglungsglieder 18. Diese Anordnung enthält 32 Unterbrechungs-Bit-Verriegelungsglieder für die ; einzelnen anschließbaren Leitungen. Das Unterbrechungsbit ; ist das Bit 15 in einem Vorbereitungswort und dient zur Freigäbe von Ünterbrechungsanforderungen für die einzelnen Anschlüsse. Wenn das Unterbrechungsbit 0 ist, kann ein Anschluß
nicht unterbrechen; wenn das Bit 1 ist, kann der entsprechende j Anschluß unterbrechen. Die Unterbrechungs-Bits in ihrer Gesamt-i heit bilden eine Erkennungsmaske für Anforderungsmöglichkeiten über den CPU-Kanal.
SLAR 38 (Leitungsadreßregister für die Steuereinheit).
Das SLAR wird durch verschiedene Elemente des Kanalanschlusses benutzt und zwar zur Kennzeichnung, welchen Anschluß oder BC 977 003/004 Ö 0 9 8 2 3 / 0 5 7 4
welche Leitung die Steuereinheit adressiert. Ein Doppel dieses SLAR 38 ist in Form des ALAR 114 (Abtaster-Leitungsadreßregister) im Abtaster gemäß Fig. 5 vorgesehen. Es hat dort vergleichbare Aufgaben.
Unterbrechungsanforderungs-Verriegelungsglieder 36. Diese Anordnung von 32 Verriegelungsgliedern kennzeichnet für die einzelnen Leitungen eine Unterbrechungsanforderung über den CPU-Kanal. Um ein solches Verriegelungsglied einzuschalten, stellt die Steuereinheit die Leitungsadresse in das SLAR, dessen Inhalt dann durch den Decoder 29 decodiert wird. Die Steuereinheit gibt eine entsprechende Ausgabeinstruktion ab, um die jeweilige Unterbrechungsart aufzurufen.
Steueradreßdecoder 42. Dieser dient zur Decodierung der Eingabe/Ausgabe-Steueradressen auf dem Kanal 41 des Kanalanschlusses. Die möglichen Adressen sind in einer in 42 gespeicherten Liste enthalten. Die Decodierung der Adressen dient als Schlüssel für die Eingabe von Daten über den Dateneingabekanal 44.
Zyklusunterbrechungs-Statusregister 46. Dieses vier Bits breite Register nimmt die vier Statusbits vom CPU-Kanal am Ende einer !Zyklusunterbrechungsoperation auf. Diese Bits dienen der Steuereinheit zur Erkennung des Endstatus einer Zyklusunterbrechung.
Decoder 45 und Vergleicher 50. Diese Elemente des Kanalanschlusses geben eine Unterbrechungsanforderung zur richtigen Leitung des Unterbrechungsanforderungskanals 52 ab. Dieser Unterbrechungsanforderungskanal weist 17 Leitungen auf: 16 für die insgesamt möglichen Unterbrechungsfälle und eine für die Zyklusunterbrechungsanforderung. Wenn eine Unterbrechungsanforderung für irgendeinen Anschluß gegeben wird, wird diese Anforderung über die entsprechende Leitung des Anforderungskanals 52 in Abhängigkeit vom im Vorbereitungs-
BC 977 003/004 θ0 9823/0574
register 16 gespeicherten Zustand abgegeben. Wenn der Kanal die Anschlüsse mit dem Ziel der Bedienung von Unterbrechungen einzeln nacheinander abfühlt, wird gegebenenfalls ein positiver Vergleich zwischen den vier Bits auf dem Pollingkanal 54 und einer Unterbrechungsanforderung markiert.
Zyklusunterbrechungs-Schlüsselregister 56. Dieses drei Bits breite Register nimmt vor einer auf den Kanal abgegebenen Zyklusunterbrechungsanforderung einen Schlüssel von der Steuereinheit auf. Dieser Schlüssel wird auf den Bedingungscodekanal nach einer erfolgreichen Zyklusunterbrechung neben der Zyklusunterbrechungsadresse und den Daten bei CPU-einwärtsgerichteten Operationen durchgegeben.
Unterbrechungsbedingungs-Coderegister 58. Dieses drei Bits brei·1" Register nimmt den Ünterbrechungsbedingungscode von de. c ereinheit vor der Abgabe der Unterbrechungsanforderv -j, £Ür eine bestimmte Leitung, die durch das SLAR spezifiziert wird, auf. Der Bedingungscode wird auf den Bedingungscodekanal 60 weitergegeben.
Bedingungscode-Generator 34. Dieses Element gibt nach einem vorgegebenen Schlüssel drei Bits auf den Bedingungscodekanal ab: 001 = adressierter Anschluß besetzt 010 = Ausnahmezustand
110 = Steuerblock des Kanalanschlusses besetzt
101 = Datenfehler auf der Schnittstelle \
111 = Keine der voranstehenden Bedingungen
Unterbrechungs-Identifikationsregister 62. Dieses 16 Bits breite Register nimmt zwei Datenbytes für die nachfolgende Unterbrechungsanforderung von der Steuereinheit auf. Dieses aus zwei Bytes bestehende Datenwort wird auf den CPU-Datenkanal nach einer erfolgreichen Unterbrechung weitergegeben.
BC 977 003/004 Ö 0 9 8 2 3 / 0 5 U
2845642
Anzeige 64. Dieses zwei Bits breite Register wird über den Datenausgabekanal 46 mit den Bits 6 und 7 geladen,wenn eine bestimmte Ausgabeadresse im PAT gespeichert ist. Diese beiden Anzeigeelemente dienen zur Darstellung des Mikrocodestatus.
Paritätsprüfgenerator 66. Dieses Element erzeugt eine 16 Bits breite Paritätsangabe für Daten auf dem CPU-Datenkanal. Wenn eine E/A-Instruktion zum PAT über den Kanalanschluß gegeben wird, gibt dieser Generator ein Paritätssignal ab für die Prüfmöglichkeit, ob auf dem Kanal die richtige Parität gegeben ist.
Zyklusunterbrechungs-Dateneingaberegister 67. Dieses insgesamt 16 Bits breite Register nimmt die einwärtsgerichteten Daten von der Steuereinheit auf, bis die angeforderte Zyklusunterbrechung durch die CPU zugelassen wird; dann werden die anstehenden Daten über den CPU-Datenkanal weitergegeben.
Zyklusunterbrechungs-Datenausgaberegister 68. Dieses ebenfalls 16 Bits breite Register nimmt auswärtsgerichtete Daten für die Anschlüsse von der CPU während einer angeforderten Zyklusunterbrechung auf. Die Bereithaltung der Daten erfolgt solange, bis mitgeteilt wird, daß die Anforderung erledigt ist.
Bedienungskonsolanschluß 70. Dieses Element verbindet die Bedienungskonsole mit der Steuereinheit über die Verbindung Der Konsolanschluß enthält ein Register, das die Steuereinheit mit der Bedienungskonsole verbindet. Bits werden gegf. seriell zur Konsole abgegeben. Wenn umgekehrt Daten von der Konsole eingegeben werden sollen, werden die Bits seriell in den Konsolanschluß eingegeben und dann mittels einer E/A-Adresse zur Steuereinheit weitergeleitet.
BC 977 003/004 009823/0 5
Zyklusunterbrechungs-Adreßfluß. Dies ist eine neuartige Funktion des PAT-Kanalanschlusses, der damit Unterkanalfunktionen für die 32 möglichen, Unterbrechung anfordernden Leitungen durchführen kann. Die Schleife vom Zyklusunterbrechungsadreßregister 71/73 über den Aufzähler 76 und zurück in das Register dient zur Aktualisierung der jeweiligen Adresse um ein oder zwei Schritte in Abhängigkeit vom jeweiligen Betriebsmodus, d.h. Bytemodus oder Wortmodus. Das Zyklusunterbrechungs-Adreßregister 74 wird mittels zweier Werte von der Steuereinheit über die Adreßregister 71 und 73 angesprochen, jeweils eine 16 Bits breite Zyklusunterbrechungsadresse in einen durch das SLAR bestimmten Speicherplatz einzusetzen. Das Register 74 ist für 64 Bytes zu je 8 Bits ausgelegt.
CRC-Anordnung 78 und 80. Dabei handelt es sich ebenfalls um eine neuartige Funktion des PAT-Kanalanschlusses, welche für die Steuereinheit die Berechnung der Prüfzeichen beim Senden und den Vergleich während des Empfangs durchführt. Ein CRC-Register 78 dient zum Zwischenspeichern der einzelnen Werte pro Leitung. Welcher Speicherbereich dieses Registers ! jeweils benutzt wird, bestimmt die Einstellung des SLAR ent- i sprechend der bedienten Leitung. Die mit dem CRC-Register 78 in Verbindung stehende Programmanordnung 80 sorgt für die !steuerung der entsprechenden Abläufe. In der Programmanordtnung 80 ist auch der eigentliche CRC-Generator enthalten, der !die Grundlage für die Durchführung der CRC-Technik im gegebenen Falle bildet.
Unterbrechungsfolgegatter 52. Diese Gatter lassen das Unter- !brechungs-Identifikationswort, wenn benötigt, zum CPU-Kanal gelangen.
jZyklusunterbrechungs-Folgegatter 84 und 86. Diese Gatter lassen die Zyklusunterbrechungs-Eingabedaten und die Zyklusanterbrechungsadresse, wenn erforderlich, zum CPU-Kanal gelangen.
BC 977 003/004 909823/0574
Der Block 94 hält eine Wort/Byte-Kennzeichnung für den Betriebsmodus beim Zyklusunterbrechungsbetrieb bereit.
Der Block 209 gibt eine Kennzeichnung dafür ab, cb es sich bei der Zyklusunterbrechung um einwärts oder auswärts führenden Verkehr handelt.
Der Block 98 ist ein Operationsmonitor.
Die PAT-Steuereinheit (Fign. 3a und b)
Diese Steuereinheit ist ein Computer hoher Arbeitsgeschwindigkeit mit einem Breitenvolumen von vier Bits, einer Unterbrechungsvorkehrung, einer Adressiermöglichkeit mit 16 Bits und einer ausgedehnten Möglichkeit zum Verzweigen und Fortsetzen der Arbeit an einer anderen Stelle des Programms, was im folgenden kurz als BAL-Technik bezeichnet werden soll.
Diese Steuereinheit enthält die folgenden Vorkehrungen:
Register-Speicherblocke. Die Register-Speicherblöcke 100, 102, 104 und 106 sind in der linken oberen Ecke der Fig. 3a dargestellte Registeranordnungen. Sie sind je vier Bits breit und 16 Registerfelder tief. Die Datenquelle für alle diese Speicherregister ist der vier Bits breite Ausgang der ALU über den Kanal 108r alle Register werden parallel gespeist. Die Adressen für die 16 einzelnen Register in den einzelnen Speicherblöcken werden entweder als vier Bits (Bits 8 bis 11) -; vom OP-Register 116 oder als vier Bits (12 bis 15) vom OP-Register 11 7 bereitgestellt.
\ Datenzugriffsregister. Die vier Datenzugriffsregister 101,
j 103, 105 und 107 sind vier Bits breite Register, die jeweils ,· die vier niedrigstwertigen Registerstellen der Register in den ' Hilfsspeicherblöcken 104 und 106 verkörpern. Wenn einer der Hilfsspeicherblöcke zum Schreiben oder Lesen angesprochen wird und die Speicheradresse 0000 bis 0011 ist, dann werden
BC 977 O03/0Ö4 9G9Ö23/05U
nicht die Hilfsspeicherblöcke adressiert, sondern eines der vier Datenzugriffsregister DAR. Die DAR dienen einem besonderen Zweck, wie bereits ihr Name andeutet- Sie bilden häufig die Quelle der effektiven Adressen bei SpeicherInstruktionen. Sie werden ebenso wie die anderen Register in den Speicherblöcken über den ALU-Ausgabekanal 108 mit einem Instruktionsmaskenfeld vom OP 116 oder von einem anderen Speicherregister geladen.
Eine weitere Datenquelle für die DAR ist der 16 Bits breite Ausgang des Aufzählers 125. Bei einigen der verwendeten Instruktionen werden die DAR als Adreßquelle, wie bereits genannt, benützt. Sie speisen dabei die Speicheradreßregister SAR 119, 121, 123 und 124, wobei dann die Werte erhöht am Ausgang des Aufzählers 125 erscheinen. Die erhöhten Werte werde- in die DAR wieder eingegeben. In den meisten Fällen ade1 ie ier Aufzähler eine 2 zu den SAR-Werten, wobei die We . als Instruktionsadresse, 16 Bits breite. Wörter, verwendewerden. In Sonderfällen erfolgt auch nur eine Erhöhung um jeweils 1. So z.B. beim Laden des Anfangsprogramms.
C-Register. Ein anderes Verwendungsziel der Datenzugriffsregister 0 und 1 ist das C-Register 126. Es handelt sich bei i diesem um ein Zwischenspeicherregister, das die beiden höchst- j wertigen 4-Bit-Gruppen der jeweils wirkenden Adresse bei SpeicherInstruktionen festhält.
loP-Register. Die vier 4-Bit-Gruppen in den OP-Registern 112 !bis 117 benutzen als Quelle die 16 Bits breiten Datenausgänge jeweils eines der Speicher 128, 130 bzw. 132 über den Datenausgabekanal 157. Die Ausgaben der OP-Register 112 und 114 gelangen in erster Linie zum Steuerblock 134 der PAT-Steuereinheit gemäß Fig. 3.
BC 977 003/004
'"348642
Speicheradreßregister. Die Speicheradreßregister SAR 119, 121, 123 und 124 bilden zusammen ein 16 Bits breites Register, das von verschiedenen Seiten her mit vier Bits breiten Bitgruppen gespeist wird. Es dient in erster Linie zur Adressierung der Speicher 128, 130 und 132 der Steuereinheit.
Wähler für die Eingabe in das A- und B-Register. Dieser Wähler 145 wählt unter sechs Eingabemöglichkeiten aus und speist die Register A und B über den Kanal 146 mit vier Bits breiten Gruppen.
Hinweisspeicher. Die 16 Bits tiefen Register in den Speicherblöcken 135, 137, 139 und 141 stellen Hinweisadressen bereit, bei denen im Falle von Verzweigungsoperationen weitergearbeitet werden soll.
Instruktionsadreßregister. Dies ist ein 16 Bits breites Register, bestehend aus den IAR-Blöcken 131, 136, 133 und 143, das jeweils Instruktionsadressen bereithält. Es wird vom Aufzähler 125 gespeist, der jeweils normalerweise eine 2 zur laufenden, im Speicheradreßregister SAR bereitgehaltenen Adresse hinzuaddiert. Bei aufeinanderfolgenden Operationen jgelangt dann jeweils die neue Speicheradresse in das SAR vom IAR her. Bei Verzweigungen wird jedoch das SAR von einer anderen Quelle her geladen. Siehe Hinweisspeicher.
[Aufzähler 125. Es handelt sich dabei um eine 16 Bits breite .Kombinationslogik, welche eine 1 oder eine 2 zum eingegebenen 16 Bits breiten Wert hinzuaddieren kann. Die Eingabe erfolgt jeweils vom Speicheradreßregister SAR. Der Ausgang ist die Quelle für die Eingabe in das Instruktionsadreßregister IAR und das Datenzugriffsregister DAR. Ob jeweils eine 1 oder eine 2 | beim Aufzählen hinzuaddiert wird, hängt vom im SAR stehenden Wert ab» Wenn es sich um eine Instruktionsadresse handelt, erfolgt eine Aufzählung um 2. Steht jedoch im SAR eine Byteadresse des Hauptspeichers, dann erfolgt nur eine Aufzählung um 1; dies ist z.B. der Fall bei Lade- oder SpeicherInstruktionen oder auch beim Laden des Anfangsprogramms (IPL).
C 977 0O3/004 90 9-8 2 3 / 0 5 7 Λ
ORIGJNAL INSPECTED
ALU mit A- und B-Registern 148 und 150. Bei der ALU 152 handelt es sich um eine vier Bits breite Kombinationslogik, die übliche arithmetische oder logische Operationen mit zwei vier Bits breiten Feldern im A- und B-Register durchführen kann. Der Ausgang der ALU ist der Kanal 108, der zu den Datenadreßregistergruppen DAR und zu den Registerspeicherblöcken 100 bis 106 führt. Die Steuerung der Funktionen der ALU erfolgt vom OP 1-Register 114 her, wenn Instruktionen ablaufen. Des weiteren kann die ALU auch Datendurchlaufoperationen nur vom A-Register her zum Kanal 108 durchführen.
Das A- und B-Register sind zwei jeweils vier Bits breite Bereitstellungsregister für die ALU. Zwei Datenquellen speisen diese Register: entweder der Kanal 146 vom Wähler oder aber der Dateneingabekanal 44. Neben der Speisung der ALU geben die beiden Register A und B auch, wenn erforderlich, über den Datenausgabekanal 46 ab.
Programmbedingungsregister. Dieses drei Bits breite Register PBR 155 enthält Anzeigebits für 0, nicht 0 und Übertrag. Dieses Register wird vom Ausgang der ALU gespeist. Bei Beginn der meisten ALU-Operationen erfolgt eine Löschung, wenn nicht gerade eine laufende Aufaddierung stattfinden soll.
IProgrammbedingungshalteregister. Dieses drei Bits breite Register PBH 154 speichert die Informationen des PBR 155 über eventuell zwischengefügte Unterbrechungsoperationen für spätere Verwendung weiter. Nach Ende einer Unterbrechungsoperation werden die Angaben dem Register 155 wieder izur Verfügung gestellt.
[Festwertspeicher. Der Festwertspeicher FWS 128 enthält für den Betrieb erforderliche konstante Mikroroutineinstruktionen. bie ein- und auslesbaren, dynamischen Steuerungsspeicher
(und 132 nehmen dagegen die jeweiligen Funktionsvariablen des Benutzers auf.
BC 977 003/004 9098 2 3/0574
.Zu jeder angegebenen Speicherinstruktion gehört eine CPU-Hauptspeicheradresse des Bytes, das abgeholt werden soll oder abzuspeichern ist.
In den meisten Fällen ist die Quelle für die Speicheradreßangabe das OP-Register, Bit-Gruppen 1 bis 3. Damit sind allerdings nur 12 Bits gegeben; die vier werthöchsten Bits der effektiven Adresse werden vom DAR 0 (101) beigetragen.
tLeitungssteuerblockspeicherung
Diese Einrichtung ermöglicht den Zugriff zu leitungsbezogenen Informationen im Steuerungsspeicher 132 ohne Angabe der echten effektiven Adressen. Die PAT-Steuereinheit enthält im Steuerungsspeicher 132 einen 128 Bytes großen Datenblock für jede der 32 Übertragungsleitungen. Dieser Block im Speicher 132 wird während der Arbeit der Steuereinheit mit einer bestimmten Leitung benutzt. Die jeweils benutzte !Leitung ist durch eine Leitungsadresse (binär 00000 bis J11111) im SLAR 38 des Kanalanschlusses markiert. Dabei wird eine dauernde Nennung der effektiven Adresse vermieden. Der Inhalt des SLAR dient zum Ersetzen der jeweils fünf Bits langen Adresse durch eine spezifische Ersatzangabe. Damit wird ein effektiver Speicherzugriff zum LSB im Steuerungsspeicher erreicht und der entsprechende LSB jeweils mittels des SLAR-Inhalts angesprochen.
ikrocode-Prozessor
Die für die gesamten Funktionen erforderliche Programmintelligenz ist in der mikrocodierten PAT-Steuereinheit konzentriert. ,Dieser Steuerteil enthält den bereits genannten Festwertspeicher 128 sowie die beiden dynamischen Speicher 130 und 132. In die beiden letztgenannten Steuerungsspeicher können seitens jdes Benutzers wählbare Funktionen eingegeben werden, die
BC 977 003/004 909823/0574
für den Betrieb seiner Leitungen erforderlich sind. Immer erforderliche, konstante Schritte des Mikrocodes sind im Festwertspeicher 128 enthalten. Einige der im Festwertspeicher enthaltenen Instruktionen sind z.B.:
Prüfung von speziellen Zeichen oder Folgen CRC- oder LRC-Berechnung und -Prüfung Einfügen oder Herausnehmen von Sonderzeichen Zeitvorgaben
Anschlußsteuerung
Automatisches Pollen, d.h. Abtasten der angeschlossenen
Leitungen auf Betriebsbedürfnis
Der Benutzer ruft die Steuerung solcher fest vorgegebenen Funktionen Leitung für Leitung durch Befehle auf, die bei Betriebsbeginn der Steuereinheit in die Speicher 130 und 132 ρ ngegeben werden. Gruppen solcher Befehle bilden Funkti(ι« Jen, die immer jeweils nacheinander ablaufen.
Le^ PAT-Mikrocode enthält die folgenden Einzelheiten:
Ereignisabhängiger Teil. Dieser Teil des Mikrocodeprogramms steuert die Funktionen des PAT. Dabei wird es der Steuereinheit möglich gemacht, bevorzugt alle bereits aktiven Leitungen zu bedienen. Nach Befriedigung der Bedürfnisse (wie Senden oder Empfangen von Daten usw.), die von aktiven Leitungen angefordert wurden, können weitere Operationen über den Kanalanschluß ablaufen. Dazu sind im ereignisabhängigen Teil des Programms Prioritäten für die einzelnen möglichen Vorkommnisse in der folgenden Reihenfolge gegeben:
1. Datensenden
2. Analyse von PAT-Befehlen
3. Kettung von Leitungssteuerblöcken ■■
4. Empfangsoperationen j
5. Mitteilung von Unterbrechungsanforderungen an die über- ■ geordnete CPU
977 003/004 909823/0574
6. Annahme von Eingabe/Ausgabe-Befehlen von der CPU
7. Durchführung nacheinander ablaufender Datenverarbeitungsgänge
8. Bedienung der Wartungskonsole
Wartestellungen im Programm. Wenn eine der 32 Leitungen bedient werden möchte, erzeugt sie eine Eingabe in die ent- ;sprechende Warteschlange. Wenn eine der Leitungen eine Unterbrechung in der CPU anfordern will, stellt sie ihre Adresse in die Warteschlange und wartet ab. Wenn die Leitung dann an der Reihe ist, wird ihr Unterbrechungswunsch an die CPU weitergemeldet.
Befehlsausführung durch die Steuereinheit. Die Steuerbefehle
werden durch Operationscodes gegeben und definieren die ablaufenden PAT-Steuerfolgen. Die Steuereinheit nimmt Befehle und Daten an, um damit Sende- oder Empfangsoperationen durchzuführen. Jeder einzelne Befehl wird angenommen und an einen !Übersetzer weitergegeben. Dieser Übersetzer prüft den Opera-
itionscode und gibt diesen, wenn er als gültig erkannt wird, !zur Ausführung der Operation weiter; dazu wird in eine durch die Operation definierte Unterroutine übergegangen. Alle sich dabei ergebenden Daten, Markierungen und Steuerinformationen !werden in den Leitungssteuerblock LSB abgestellt. 32 LSB-jGruppen sind für die 32 Leitungen im PAT vorgesehen.
Funktionsfolge. Eine Funktionsfolge besteht aus einer Reihe : von Befehlen, die eine durch den PAT auszuführende Operationsfolge definiert. Eine solche Funktionsfolge kann entweder eine komplette übertragungsfunktion durchführen oder nur eine Teilfunktion, die innerhalb anderer Funktionsfolgen benötigt wird, j
977 003/00* 809823/OE7i
Funktionsadreßtabelle. Eine bis zu 127 Wörter lange Funktionsadreßtabelle (FAT) enthält die Funktionsfolgeadressen. Der LSB für jede einzelne Leitung enthält einen Index, der auf die Funktionsadreßtabelle für die betreffende Leitung hinweist. Alle die einzelnen Wörter in der Funktionsadreßtabelle entsprechen einer möglichen Funktionskennzeichnung. Wenn ein Lese/Schreib-Kommando durch die CPU aufgerufen wird, dann verwendet die PAT-Steuereinheit die Funktionsangabe als Index für die FAT, um die entsprechende Funktionsfolge zur Ausführung zu bringen. Unter Angabe der Funktionsfolgen werden die Betriebsabläufe für die einzelnen Leitungen definiert. Jedem einzelnen Leitungsanschluß können mehrere FAT-Angaben zugeordnet werden, damit auch für die einzelnen Leitungen verschiedene Funktionen ausführbar sind. Auf diese Weise kann der PAT mit allen angeschlossenen Endstellen im Netz verkehren.
Jübertragungssteuerzeichen. Wie im vorangehenden Abschnitt angegeben wurde, steuern die definierten Funktionsfolgen den Ablauf für die einzelnen Leitungen. Dazu ist die Möglichjkeit zur Decodierung von Steuerzeichen vorgesehen. Es kann dabei mehr als nur ein Zeichensatz decodiert werden. In einer binär synchronisiert arbeitenden übertragungsfunktionsfolge müssen dabei sowohl Steuerzeichen im EBCDIC- als auch im ASCII-Code decodierbar sein. Die Übertragungssteuerzeichentabelle ist eine Tabelle mit sämtlichen Steuerzeichen, die decodierbar sind. Wenn die PAT-Steuereinheit die einzelnen Befehle decodiert, wertet sie die zugehörigen Steuerzeichen aus. Während einer Empfangs/Sende-Operation benutzt die Steuereinheit diese Tabelle zur Decodierung, ob das empfangene oder gesendete Zeichen ein Steuerzeichen ist. Die Steuerzeichenauswertung wird vor Beginn der eigentlichen übertragung durchgeführt.
BC 977 ÖO3/ÖO4 " g q g g 2 3 , ^ fy ~
- 61 Der Abtaster (Fign. 5a bis c)
Der Abtaster des PAT nach der vorliegenden Erfindung bildet einen digital programmierbaren Übertragungsmultiplexer auf Zeitmultiplexbasis. Er ermöglicht das zeitlich verschachtelte Multiplexieren von bis zu 32 Übertragungsleitungen mit Geschwindigkeiten bis 9600 Bits pro Sekunde bei einer Zusammenarbeit über den Eingabe/Ausgabekanal eines handelsüblichen ,Computers. Die folgenden Funktionen sind dabei durchführbar: Serialisieren und deserialisieren von Zeichen, wobei das jVolumen der Serialisierung und Deserialisierung bis zu einer !Gesamtmenge von 8 Bits programmbestimmbar ist. Des weiteren
!läßt sich bei dieser Serialisierung und Deserialisierung wahl-
jweise nach rechts oder nach links verschieben; je nach Anforjderung der einzelnen Übertragungsleitung, wobei des weiteren
'Synchron- oder Asynchronbetrieb mit interner oder externer
!Taktung möglich ist. Dabei können beliebige 32 übertragungs-Ileitungen, durch das Programm bestimmt, synchron oder asynchron betrieben werden.
Das Abtasten der einzelnen Leitungen erfolgt wiederum unter Steuerung durch das Programm. Wenn gewünscht, können einzelne Leitungen öfter als erforderlich abgetastet werden. Dabei ergeben sich erhöhte Sicherheiten beim Empfangen oder Senden. Dies ist insbesondere von Vorteil, wenn Hochgeschwin- | digkeitsleitungen mehrfach abgetastet werden.
!Es ist auch die Möglichkeit gegeben, daß einzelne Leitungsadressen während des Multiplexbetriebes häufiger bedient werden, als die anderen. Dabei sind Prioritäten für die einzelnen Leitungen programmierbar.
BC 977 003/004 90982 3/0
Für die nacheinander empfangenen Zeichen ist ein Belastungsausgleich möglich. Dazu werden die einzelnen empfangenen
Zeichen nach Aufnahme und Deserialisierung in der Empfangswarteschlange gespeichert.
Zur Erkennung von Fehlern ist mit dem Abtaster auch eine senkrechte Redundanzprüfung, eine Synchronvergleichkontrolle und eine Prüfung des jeweils vorgesehenen Leitungsanschlußgeräts möglich.
Fig. 4 zeigt in vereinfachter Form den Aufbau des Abtasters. Darin ist eine Anordnung von Registern vorgesehen, 112 für
Daten, 114 für Leitungsadressen und 110 für die Decodierung
der durchzuführenden Funktionen wie Schreiben oder Lesen gemäß Abtasttabelle, ferner der Steuerspeicher 192 und die Verbindungen 116/118 zu den einzelnen Leitungsanschlüssen. Die
Register werden multiplex während der einzelnen Steuerzyklen erfaßt und können zu beliebigen Zeiten durch die PAT-Steuereinheit über die bei 111 allgemein angedeuteten Kanäle bedient werden.
Die in 190 vorgesehene Abtasttabelle ist mit dem Datenregister 112 verbunden. Die einzelnen Leitungsadressen LA der Abtasttabelle in 190 werden nacheinander mit vorgegebener Geschwindigkeit ausgelesen, wobei die einzelnen echten Leitungsadressen bei der Adressierung der übertragungsanschlüsse 0 bis 31 sowie auch die zusätzlichen Steuerspeichejplatzangaben ausgelesen werden, welche Leitungsdefinitionsangaben, Steuerinforätiationen und veränderbare Adressen für die Anwahl der einzelnen Steuerfunktionen und D.
itragungsanschlüsse enthalten.
izelnen Steuerfunktionen und Daten für die einzelnen iiber-
jDie Sendeunterbrechungswarteschlange in 104 und die
[Empfangswarteschlange in 108 dienen als Sendeunterbrechungs- und Empfangspuffer. Sie bewirken unter anderem einen
Belastungsausgleich während der Sende- und Empfangsoperationen.
BC 977 003/004 809823/0574
; - 63 -
bie Empfangswarteschlange in 108 und die Sendeunterbrechungswarteschlange in 104 sind in Form von Parallelschieberegistern aufgebaut, die automatisch Daten vom Eingang zum Ausgang der Schlange durchschieben. Ein Beispiel dafür ist in der deutschen Patentanmeldung P 21 17 582.6 angegeben.
t>ie PAT-Steuereinheit kann Empfangsarbeiten während des Wendens auf später verschieben. Die Warteschlangen sind dabei das Hilfsmittel zwischen PAT-Steuereinheit und Abtaster bei der Multiplexbedienung aller 32 übertragungsleitungen. t>ie vorgesehene Ausführungsform des Abtasters bietet dabei die Möglichkeit, auch während des Sendens Prioritäten für die 32 Leitungen vorzusehen. Dies ist eine der Aufgaben der JBendeunterbrechungswarteschlange in 104.
t>er Umstand, daß die Adressen aller 32 Leitungsanschlüsse JLn den beiden Warteschlangen in 104 und 108 der Reihe nach anstehen, vermeidet die Adressiernotwendigkeit der einzelnen eitungsanschlüsse durch die Steuereinheit und bietet dagegen lie einfachere Möglichkeit an, nur die beiden Warteschlangen adressieren zu müssen. Die Lademöglichkeit der Leitungsadressen von der Abtasttabelle 190 zu den Warteschlangen ist dabei ein wichtiger Gesichtspunkt bei der programmierbaren Steuerung entsprechend der vorliegenden Erfindung.
Die programm-logischen Anordnungen 118 gemäß (Fign. 4, 7 ιτιά 5) decodieren jeweils die Funktion, die seitens des teuerspeichers 192 aufgerufen wird, und führen die Funktionen
der Steuerung der 32 Übertragungsanschlüsse aus. Der Bit- -aktgeber in PLA 1 (118a) enthält einen Intervallzähler, der les weiteren als Belegungszähler verwendet wird, und einen lamit zusammenarbeitenden Bittaktmechanismus. Der Intervallind der Bittaktzähler sind beide abwärtszählende Zähler. Alle
BC 977 003/004 909823/0574
die 32 Übertragungsleitungen betreffenden Zählgrundlagen sind im Steuerspeicher 192 enthalten. Fig. 7 zeigt den Datenfluß innerhalb der programm-logischen Anordnung 118 beim Senden und Empfangen. Vier Hauptelemente sind in 118 enthalten: Der Verschieber 120, der Vergleicher 122, der Paritätsprüfer und der Cybit-Steuerzähler 126, der abzählende Funktionen bei der Zeitgabe und Angabe der Bitfolgegeschwindigkeit durchführt. Er ist das eigentliche Steuerzentrum der programm-logischen Anordnung 118 (bestehend aus PLA 1 bis 3 gemäß Fig. 5), welches beim Ablauf einer duchgeführten Übertragungsoperation Buch führt und immer Auskunft darüber geben kann, bei welchem Punkt die Übertragungsoperation sich gerade befindet. Dabei werden die einzelnen Zyklussteuerbits in abfallender Adreßreihenfolge abgearbeitet,—Die Aufgabe des Synchronisationsvergleichers 122 ist es, bei synchronem Empfangsbetrieb den Verschieber 120 bei der Deserialisierung in richtiger Phase zu halten.
Der Steuerspeicher 192, der mit den in der Abtasttabelle in stehenden Leitungsadressen adressiert wird, enthält 9 Steuerwörter' und eine Funktionsangabe für die einzelnen Leitungsadressen. Die Bedeutung und das Format der einzelnen Steuer-Wörter soll nachstehend beschrieben werden.
|Bitfolgekonstante in 191. Dies ist eine acht Bits lange Konstante, die beim Abtasten von Daten von einem Leitungsan-Bchluß oder beim Austasten von Daten zu einem Leitungsan-Bchluß unter Abzählung zugrunde gelegt wird. Ein Zählschritt belegt dabei 52 Mikrosekunden.
BC 977 003/004 909823/0574
ίBitfolgezähler 193. Dieser enthält ein Zählfeld, das beim taktweisen Ausgeben und Hereinnehmen von Daten über die Lei-
Itungsanschlüsse benützt wird. Dieses Feld wird aller 52 Mikro-
!Sekunden, d.h. mit jedem Abtastzyklus, neu eingestellt.
{Zeitgabekonstante in 195. Dies ist eine acht Bits lange Konjstante, die für den zeitlichen Ablauf der einzelnen Ereig-
jnisse an den Leitungsanschlüssen verwendet wird. Zeitgabezähler 197. Dieser enthält ein Zeitgabezählfeld, das bei der herabzählenden Bedienung beim Betrieb der Leitungen benutzt wird.
j Steuerungsbits in 199. Dabei handelt es sich um ein neun Bits ilanges Feld, das bei der Steuerung des Bitfolgezählers und des Zeitgabezählers verwendet wird.
Leitungssteuerungsfeld in 111. Dies ist ein acht Bits langes Feld, das bei der Aktivierung der Leitungsanschlüsse verwendet wird.
CYBITS in 113. Dies ist ein acht Bits langes Feld, welches Zyklussteuerbits (= Cybits) zum Adressieren jeweils einer Sende- oder Empfangsfunktion entsprechend der Funktions-Itabelle enthält.
ι Sendepuffer 115. Dieser enthält ein neun Bits langes Feld, 1 das die acht Bits des nächsten beim Senden zu übertragenden Zeichens bereitstellt. Das neunte Bit gibt eine Anzeige dafür, ob das Feld voll oder leer ist.—Bei Empfangsbetrieb enthalten die acht Bits dieses Feldes ein Synchronisierzeichen, welches für die Synchronlaufprüfung verwendet wird.
977 003/004 909823/0 574
SER-DESER-FeId in 119. Dies ist ein neun Bits langes Steuerfeld, welches das verschoben werdende Zeichen beim Senden oder · Empfangen in seiner jeweiligen Stellung enthält.
Leitungsdefinitionsfeld in 121. Dies ist ein acht Bits langes Steuerfeld, welches Informationen über das Format der zu übertragenden Zeichen enthält. Es gibt an, ob eine vertikale Redundanzprüfung durchzuführen ist und ob auf gerade oder ungerade. Es bestimmt die Betriebsweise, synchron oder asynchron. Es bestimmt weiter, ob 1 Stopbit, 1 1/2 Stopbits oder 2 Stopbits zu verwenden sind. Es bestimmt ebenfalls, ob die zu verarbeitenden Zeichen nach rechts oder nach links zu verschieben sind. Ebenfalls gibt es die Zeichenlänge an, die zwischen 1 bis 8 Bits selektiv vorgebbar ist. I
Fig. ί erläutert einen Abtastzyklus entsprechend der Abtast- ! tabelxv.. Die für die Abtastung der einzelnen Leitungen vor-
gesehene Zeit ist als Schritt bezeichnet. Die Zahl der Schritte entspricht der maximal zu bedienenden Leitungs- oder ^nschlußzahl; im vorliegenden Falle 32. Ein Abtastzyklus, der jeweils einem Vielfachen der Leitungsübertragungsgeschwindigkeit entspricht, ist die Periode, in der nacheinander alle 32 Schritte durchgeführt werden bzw. die einzelnen Leitungsadressen bedient werden. Aller vier Schritte ist ein Zeitab- j schnitt vorgesehen, der als Steuerzyklus SZ bezeichnet werden J möge. Während dieser Steuerzyklen kann die PAT-Steuereinheit j auf den Steuerspeicher 192 zurückgreifen, der seinerseits tieitungsdefinitionen, zu sendende Datenzeichen und SteuerjLnformationen enthält. In der vierten Zeile von Fig. 6 sind als schmale Abschnitte die Steuerzyklen 1 bis 8 zu erkennen.
pine Unterbrechung wird durch die Steuereinheit nur aufgerufen, wenn zumindest eine der beiden Warteschlangen nicht leer ; ist. Während jedes Zyklus erfolgt jedoch nur eine Unter- | brechung für eine der 32 Leitungen. Dabei erfolgen für die
BC 977 003/004 «09823/0674
Leitungen mit höherer Priorität um so häufiger Sendebedienungen, je niedriger die Anordnung der zugehörigen Adresse in der Abtasttabelle vorgesehen ist.
!Während die Eingabe der Leitungsadressen in die Abtasttabelle .unter Programmsteuerung erfolgt, läßt sich jede beliebige erwünschte Leitungsreihenfolge vorgeben. Wenn Leitungen in der Tabelle mehr als einmal vorgesehen werden (wie z.B. in der dritten Zeile der Fig. 6), läßt sich die Häufigkeit der Leitungsbedienung beim Empfangen und Senden erhöhen. Auch ist die Möglichkeit gegeben, weniger Leitungen höherer Geschwindigkeit jeweils öfter abzutasten. Wenn z.B. eine Leitung für 1200 B/min zweimal in der Tabelle vorgesehen wird, dann wird die Bedienungssicherheit für diese Leitung verdoppelt und die Fehlerrate halbiert.
Gesamtüberblick über den programmierbaren Übertragungs-Anlagenteil (PAT) nach der vorliegenden Erfindung
Entsprechend der Aufgabe der Erfindung soll der PAT den Anschluß verschiedenartiger übertragungsleitungen an einen Computer üblicher Bauart ermöglichen. Dabei sind drei Parameter bezüglich der Übertragungstechnik, wie in Fig. 8 beispielhaft dargestellt, zu berücksichtigen: Elektrische Schnittstellen, Codestrukturen und verschiedene Arten der Betriebsabläufe. Dabei sollen vorzugsweise Permutationen innerhalb der Variablen aller drei Parameter möglich sein. Um dem entsprechen zu können, sind die nachstehend aufgeführten Forderungen zu erfüllen:
Für die PAT-Steuereinheit:
1. Ein ausreichend großes Adreßvolumen, z.B. 64 Kilobytes.
2. Ein Adressiermechanismus, der schnellen Zugriff zu den einzelnen Leitungen fest vorgegebenen Speicherplätzen bietet. Dies ermöglichen die vorgesehenen Leitungssteuerblocke LSB.
W37ÖÖ4- "Ίβ·βϊ~3/ίΒΪΰ
:848642
3. Ein Unterbrechungsmechanismus in der Steuereinheit, der Prioritäten berücksichtigen läßt.
4. Eine ausreichend schnelle Instruktionsausführung in z.B. jeweils 750 ns.
Für den Abtaster, der die Zeitmultiplexierung durchführt:
1. Synchron- oder Asynchronbetrieb.
2. Zeichenlängen von 4, 5, 6, 7 oder 8 Bits.
3. 1, 1,5 oder 2 Stopbits.
4. Durchlaufende Bitfolgefrequenz-Wahlmöglichkeit von 45 bis 1200 B/min bei interner Taktung.
5. Bitfolgefrequenzen bis zu 9600 B/min bei externer Taktung.
6. Vorkehrungsmoglichkeit beliebiger Synchronisierbitfolgen.
7. Beim Serialisieren und Deserialisieren beliebiger Beginn, beim niedrigstwertigen oder beim höchstwertigen Bit voran.
8. Vorkehrung beliebiger Paritätsprüfmethoden.
9. Leitungsunabhängige Taktung mit wählbarem Grundtakt. 10.Dynamisch wählbare Zeitgeberarbeitsweise.
11.Prioritätsbedienung unter Verwendung von Warteschlangen ; und ausreichendem Puffervolumen.
!pur die Schnittstelle zur CPU:
'Der Datenaustausch mit der CPU muß möglich sein, ohne die CPU selbst allzu stark in ihrer Mitarbeit zu beanspruchen.
Für das Benutzerprogramm:
|Hier muß ausreichende Flexibilität gegeben sein. PAT-Betrieb
jprogrammvorbereitung. Da es sich beim PAT um eine seitens des Benutzers programmierbare Einrichtung handelt, ist ein Programm zu erstellen und vor Betriebsbeginn in einen für den Benutzer zugänglichen Speicher einzugeben. Dazu ist vorbereitend ein Speicher-Laden durchzuführen. Das Benutzerprogramm kann z.B. in einem an die verwendete CPU angeschlossenen
BC 977 003/004 Ö09823/0S74
ORiGiNAL INSPECTED
28486A2
,Plattenspeicher bereitgestellt werden.
'Arbeitsbeginn. Bevor mit dem Übertragungsbetrieb begonnen iwerden kann, wird das Programm über die vorgesehene CPU zum PAT nach der vorliegenden Erfindung überführt. Wenn dies erfolgt ist, können Übertragungen über die angeschlossenen (im Beispiel bis zu 32) Leitungen begonnen werden. Bei der Einleitung des Übertragungsbetriebs können auch noch von der CPU zum PAT Parameterdaten übertragen werden, die Informationen über die einzelnen Leitungen umfassen, wie z.B. übertragungsgeschwindigkeit, Bitzahl pro Zeichen, Synchron- oder Asynchronbetrieb usw. Änderungen sind jederzeit später möglich.
Sendebetrieb. Wenn die einzelnen vorgenannten Leitungsparameter erst einmal in den Leitungssteuerblock (LSB) im PAT überführt worden sind und eine in Aussicht genommene Übertragungsleitung belegt ist, kann das Datensenden, von der CPU ausgehend, beginnen. Eine Sendung beginnt jeweils mit dem Start einer Eingabe/Ausgabe-Operation seitens der CPU. Dieser Operationsstart greift auf diverse Adreßparameter zurück; dazu gehören z.B. die Zahl der jetzt zu übertragenden Bytes, die Startadresse für den Beginn einer übertragung im Speicher der CPU, in dem die Daten stehen, und ferner ein Indexwert für den PAT-Speicher zur Angabe, wo die entsprechenden abzuwickelnden Funktionen im PAT-Programmspeicher stehen.
Das nun im PAT ablaufende Programm steuert normalerweise den Abtaster der PAT an, stellt diesen auf Sendebetrieb und überträgt eine vorgesehene Beginnfolge, die z.B. ein vorgegebenes Synchronisationszeichen, das Textbeginnzeichen usw. enthält. Dann folgt die Übertragung des im Speicher der CPU stehenden Textes wortweise bis zum letzten zu übertragenden Byte einschließlich, worauf eine Beendigungsfolge übertragen wird, welche z.B ein Textendezeichen, Blockprüfzeichen und Füllzeichen enthält. Damit endet die Sendeoperation und der
BC 977 003/004 Θ09823/0574
Abtaster wird auf Empfangsbetrieb umgestellt, damit die zugehörige Bestätigung von der anderen Seite der übertragungsleitung empfangen werden kann.
Empfangsbetrieb. Bei Empfang laufen im wesentlichen ähnliche programmierte Funktionen ab, wie sie für Sendebetrieb beschrieben wurden. Der hauptsächliche Unterschied ist jetzt, daß die empfangenen Daten zur CPU übertragen werden und dort im Speicher ab vorgegebener Stelle abgestellt werden.
Vor dem Einlaufen der eigentlichen Nutzdaten läuft eine Synchronisierfolge ein, die beachtet werden muß. Dann zieht das PAT-Programm alle weiteren gegebenenfalls noch einlaufenden Steuerzeichen heraus und läßt nur die Nutzdatenbytes zur CPU gelangen. Des weiteren wird am Schluß der Übertragung eine Blockprüfrechnung durchgeführt und auf ungestörten Nachrichtenempfang geprüft.
Operationen innerhalb des PAT
Beim Einschalten der CPU, mit der der PAT nach der vorliegenden Erfindung zusammenarbeitet, wird von der CPU ein allgemeines Löschsignal zum PAT übertragen. Dabei läuft der Festwertspeicher auf die Adresse 0000. Nun folgen einige im Festwertspeicher programmäßig vorgegebene diagnostische Routinen. Wenn diese ablaufen, ohne daß Fehler erkannt werden, werden im PAT entsprechende Indikatoren für den fehlerfreien Zustand eingeschaltet. Dann wird weitergegangen zum Betriebstiberwachungsteil, der ebenfalls im Festwertspeicher steht. Dieser Betriebsüberwachungsteil prüft zuerst, ob Sendeanforderungen anstehen, dann ob andere Verarbeitungsroutinen durchzuführen sind usw.
Der Betriebsüberwachungsteil prüft die einzelnen eventuell gegebenen Verarbeitungsaufgaben ab. Anschließend wird auch die
BC 977 003/004 009823/0 5 74
Funktion der Wartungskonsole geprüft und festgestellt, ob eine Anforderung seitens der handbedienten Konsole ansteht. Dieser Ablauf läuft in einer Schleife solange wiederholt ab, ,bis eine Eingabe/Ausgabe-Instruktion der CPU den PAT adressiert. Wenn dies durch den Betriebsuberwachungsteil erkannt •wird, wird eine Unterbrechungsfunktion eingeleitet und an- ■' stehende Übertragungen vom CPU-Speicher zum PAT-Speicher i durchgeführt.
!Die erste Eingabe/Ausgabeoperation, die der PAT nach einer 'Netzeinschalt-Löschfunktion durchführt, wird normalerweise
idas Laden des PAT-Speichers mit einem Satz von Funktionsproigrammfolgen sein. Diese Übertragungsfunktion beginnt unter [Anlegen der CPU-Adresse und geeigneter Steuerinformationen ,an die Kanalschnittstelle. Wenn der PAT-Speicher geladen j ist, wird seitens des Betriebsüberwachungsteils eine Kennzeichnung zur CPU übermittelt.
Wenn feststellbar ist, daß der PAT-Speicher erfolgreich mit ,einem Satz von Funktionsfolgen geladen ist, stellt der Beitriebsüberwachungsteil auch entsprechende Indikatoren im PAT
Die nächste logische Operation des Benutzerprogramms ist die !
!Einleitung einer Eröffnungsoperation für Eingabe/Ausgabe. !
ι ι
!Diese Operation ergibt wiederum eine Anzahl von Operationen, I
ι i jwobei eine Tabelle mit Leitungsparametern von der CPU zum !PAT-Speicher übertragen wird. Von nun ab richten sich weitere ;Eingabe/Ausgabeoperationen zu speziell ansprechbaren Leitungs-j :adressen. Der Betriebsüberwachungsteil stellt dabei jeweils j jdie Register SLAR und ALAR auf die entsprechende Leitungs- j adresse ein.
Die Funktion des Steuerungs-Leitungsadreßregisters und des Abtaster-Leitungsadreßregisters ist von nun an die Angabe der
BC 977 003/004 §09823/0574
jeweiligen Grundregisteradressen. In der Steuereinheit spricht das SLAR den Speicheradreßraum mit den 32 je 128 Bytes langen Leitungssteuerblöcken LSB an. Diese jeweils 128 Bytes enthalten die leitungseigenen Informationen für die 32 möglichen Anschlüsse.
Das SLAR steuert des weiteren die Datenübertragung zum oder vom CRC-Rechner. Ferner steuert das SLAR auch den Datenverkehr zu und von den Speicherblöcken in der linken oberen Ecke der Fig. 3 mit den darin vorgesehenen Registern.
Während der Eröffnungsfunktionen für eine der vorhandenen Leitungen werden deren Betriebsparameter vom CPU-Speicher zum LSB-Bereich, zum CRC-Rechner, zu den Kanaladreßspeichern und zu den Abtasterspeichern überführt. Dann können die eigentlichen Nutzdatenübertragungen beginnen.
Es möge nun der Start einer Eingabe/Ausgabe folgen. Die Startoperation beinhaltet die folgenden Einzelheiten: Das Start-E/A-Kommando wird seitens des PAT-Betriebsüber- j wachungsteils erkannt, der seinerseits die entsprechende j Funktionsfolge im PAT einleitet. Der Betriebsüberwachungs- j teil übergibt nun die Steuerung an einen im Festwertspeicher !ebenfalls gespeicherten Übersetzer, der ein Datenbyte vom PAT-Speicher abruft. Dieses Datenbyte ist eine Fortschaltanigabe zur Ausführung innerhalb des Festwertspeichers, die die !Adresse der Unterroutine im FWS angibt, die nun weiter ablaufen muß. Dazu gehören Text-Lesen, Text-Schreiben, Überwachung auf Steuerzeichen, Einstellung der Zeitgeber, Aufruf von Kanalunterbrechungen und die Durchgabe von Schnittstellensignalen zum Anschlußgerät der einzelnen Leitungen. Der Benutzerprogrammierer muß dazu die entsprechenden Angaben beim Schreiben seines Programms machen.
977 003/004 909823/0574
I - 73 -
■Die handbediente Konsole erscheint der PAT-Steuereinheit als eine Eingabe/Ausgabeeinheit. Im wesentlichen sind dabei Speicherinhalts-, Status- und Anschlußgerät-Schnittstellen-Informationen darzustellen. Des weiteren können über die Konsole Datenabfragen oder nacheinander ablaufende Funktionsbefehle getätigt werden.
patenfluß beim Empfang. Das Empfangsdatensignal wird vom Modem an der Leitung aufgenommen. Der Abtaster tastet nacheinander die einzelnen Leitungsanschlüsse ab und deserialisiert die empfangenen Daten zu 5 bis 8 Bits langen Zeichen. Wenn der Abtaster ein ganzes Zeichen beieinander hat, wird das empfangene Zeichen zusammen mit der zugehörigen Leitungsadresse in die Empfangswarteschlange in 108 gebracht. Der Betriebsüberwachungsteil fragt periodisch die Empfangswarteschlange auf das Vorliegen von empfangenen Daten ab. Wenn ein empfangenes Zeichen in der Warteschlange gefunden wird, wird die zugehörige Leitungsadresse in das SLAR und ALAR überführt. Entsprechend der jeweiligen Einstellung dieser Register laufen alle Datenübertragungen, durch den Betriebsüberwachungsteil gesteuert, automatisch zu den entsprechenden Registern ab, die zu den im SLAR und ALAR angegebenen Leitungsadressen gehören. SLAR und ALAR nehmen dabei jeweils immer die gleichen Angaben auf, geben die gleichen Angaben ab und werden auch gleichzeitig miteinander gegebenenfalls gelöscht.
Der Betriebsüberwachungsteil prüft die empfangenen Zeichen auch auf benutzerspezifische Steuerzeichen. Solange ein empfangenes Zeichen nicht ein solches Steuerzeichen ist, läuft die vorgesehene CRC-Rechnung weiter. Die Datenzeichen werden dann über den Kanal zur CPU übertragen.
BC 977 003/004 809823/0574
Wenn es sich bei einem empfangenen Zeichen um ein benutzerspezifisches Steuerzeichen handelt, wird eine Verzweigung zu einer weiteren erforderlichen Funktion durchgeführt. Dabei verliert der Betriebsüberwachungsteil die Steuerung an den Übersetzer. Des weiteren werden die Anzeigen und die Datenparameter im LSB unter Angabe der Leitungsadresse durch den SLAR und ALAR jeweils auf den neuesten Stand gebracht.
Datenfluß beim Senden. Nach dem Herausschieben des letzten Bits eines zu übertragenden Zeichens wird ein neues Datenzeichen aus dem Sendepuffer in den SER-DESER-Verschieber überführt. Eine Sendeunterbrechungsanforderung wird in die Unterbrechungswarteschlange in 104 eingegeben und zwar mit der Leitungsadresse, die jetzt zu bedienen ist. Solange die Unterbrechungswarteschlange nicht leer ist, wird ein Signal zum Stauerblock 134 gegeben. Der Betriebsüberwachungsteil frairt auf Unterbrechungen ab und läßt dann eine Datenübertrajung vom CPU-Speicher über den Kanalanschluß ablaufen. Das neue Datenzeichen wird in den Sendepuffer überbracht, der bereits darauf wartet. Parallel dazu läuft wiederum eine CRC-Rechnung ab, wenn und wie der Benutzer dies spezifiziert hat. Wenn sämtliche zusammengehörenden Zeichen übermittelt sind, geht die Steuerung wieder an den im FWS 128 gegebenen übersetzer zur Auswertung der nächsten Operation über.
1 Betrieb mit der handbedienten Wartungskonsole. Während des Empfangens oder Sendens von Daten wird periodisch auch auf Anforderungen von der Wartungskonsole abgefragt. Wenn die Konsole angeschaltet ist und der Bediener eine Funktion durchführen möchte, wird dem entsprochen. Eine der von der Konsole her aufrufbaren Funktionen ist z.B. die Anzeige des Status der Modemschnittstelle. Der Bediener kann ebenfalls die Anzeige einer beliebigen Speicherstelle wählen.
BC 977 003/004 9 0 9 8" ' 0 5 7 K
Des weiteren läßt sich seitens des Bedieners eine Funktionsfolge aufrufen. Diese Funktionsfolge speichert in einem Puffer alle über die spezifizierte Leitung empfangenen oder gesendeten Daten ab. Die Funktionsfolge kann durch Gabe eines besonderen Befehls beendet werden. Der Bediener kann ebenfalls die Funktionsfolge nur bis zu einer bestimmten vorgegebenen Adresse ablaufen lassen. Wenn die angegebene Adresse erreicht wird, leuchtet ein Indikator für ungefähr 200 Millisekunden auf. Eine interne Diagnostikroutine kann ebenfalls von der Konsole aus aufgerufen und die Ergebnisse in Indikatoren festgehalten werden.
BC 977 -003/004 "^ ^ 3 , Q 5 ?
e e r s e
ite

Claims (1)

  1. PATENTANSPRÜCHE
    Programmierbare Nachrichtenübertragungsanlage mit einem an einen Computer üblicher Bauart angeschlossenen programmierbaren Übertragungs-Anlagenteil und einer Vielzahl seitens dieses programmierbaren Anlagenteils bedienter Übertragungsleitungen, die mit Endstellen verbinden,
    dadurch gekennzeichnet, daß der programmierbare Übertragungs-Anlagenteil (PAT) die Kombination der nachstehend genannten Merkmale aufweist:
    a) ein Kanalanschluß (205), der mit einem Eingabe/
    Ausgabe-Kanal (202) des Computers (CPU 200) verbunden ist;
    b) ein Abtaster (201), der in zeitmultiplexer Arbeitsweise unter Vorkehrung von Warteschlangen die angeschlossenen übertragungsleitungen (203, 215) bedient;
    c) eine Steuereinheit (204), die ein die Datenübertragung zwischen dem Kanalanschluß und dem Abtaster
    steuerndes, durch Informationsübermittlung vom
    Computer variierbares Mikroprogramm sowie durch
    dieses Mikroprogramm gesteuerte Verbindungselemente und einen Arbeits-Speicher (132) für leitungsspezifische Informationen der einzelnen Übertragungsleitungen (203, 215) aufweist.
    Nachrichtenübertragungsanlage nach Anspruch 1, dadurch gekennzeichnet,
    daß der Abtaster (201) für die wählbare und zyklisch ablaufende Datenübermittlung in Sende- und Empfangsrichtung über die einzelnen Übertragungsleitungen (203, 215)
    eingerichtet ist,
    daß der Arbeits-Speicher (132) der Steuereinheit (204) getrennte Datenpufferbereiche für die einzelnen
    Übertragungsleitungen enthält,
    daß im Abtaster (201) zwei Warteschlangenregister (104, 108) vorgesehen sind, denen der Reihe nach,für Senden
    BC 977 003/004 Ö09823/
    ORIGINAL INSPECTED
    und Empfang gesondert, die Adressen der Bedienung anfordernden Leitungen zugeführt werden und die schrittweise diese Adressen, ebenfalls für Senden und Empfang getrennt, in der Eingabereihenfolge wieder abnehmbar machen, und
    daß die vorgesehene Steuereinheit (204) für die Steuerung des Datenaustausche zwischen dem Computer (CPU 200) und den vorgenannten Datenpufferbereichen einerseits und zwischen diesen Pufferbereichen und den Übertragungsleitungen (203, 215) andererseits nach Aufruf mittels der Ausgabeinformationen aus den beiden Warteschlangenregistern (104, 108) eingerichtet ist.
    3. Nachrichtenübertragungsanlage nach Anspruch 2, dadurch gekennzeichnet,
    daß der Arbeits-Speicher (132) der Steuereinheit (204) für jede der Übertragungsleitungen (203, 215) einen eigenen Leitungssteuerblockbereich (LSB) aufweist, der den zugehörigen Datenpufferbereich als Teilbereich enthält,
    daß des weiteren ein Steuerungs-Leitungsadreßregister (SLAR 38) vorgesehen ist für die Aufnahme jeweils einer
    ; Leitungsadresse aus einem der beiden Warteschlangenregister (104, 108) und
    daß aus diesem Leitungsadreßregister (38) dem Arbeits-Speicher (132) bei der Adressierung der in ihm enthaltenen Leitungssteuerblockbereiche die Adresse der jeweils zu bedienenden Leitung zuführbar ist.
    4. Nachrichtenübertragungsanlage nach Anspruch 3, dadurch gekennzeichnet,
    daß dem Eingang des Sendewarteschlangenregisters (104) im Abtaster (201) aus? einer Abtasttabelle (in 190) die Leitungsadresse jeweils der Leitung (203) zugeführt
    ; wird, für die als nächste in der Wartereihenfolge eine Datenübertragung vom Computer (200) zu einer Endstelle
    j erfolgen soll,
    BC 977 003/004 009 823/0$ 7-4
    daß in der Steuereinheit ein zentraler Steuerblock (134) vorgesehen ist, dessen Eingang mit dem Ausgang des Sendewarteschlangenregisters (104) für die Durchgabe eines Signals Verbunden ist, das erscheint, wenn eine gültige Leitungsadresse am Ausgang des Sendewarteschlangenregisters ansteht, und daß in diesem Fall die am Ausgang des Sendewarteschlangenregisters (104) anstehende Leitungsadresse zum Steuerungs-Leitungsadreßregister (38) übermittelt wird und ein für den genannten Fall aktivierbarer Datenübertragungsweg (212, 68a/b, 44, 148/150, 152, 100, 110, 145, 146, 148/150, 213) für die Überführung der zu sendenden Daten aus dem Computer (200) zum adressierten Leitungssteuerblockbereich im Arbeits-Speicher (132) der Steuereinheit (204) und von dort weiter (über 157, 145, 146, 148/150, 152, 100, 110, 145, 146, 148/150, 46) über ein Datenregister (112) im Abtaster (201) zur adressierten Leitung (203) vorgesehen ist,
    wobei die Adressierung des Arbeits-Speichers (132) jeweils seitens des Steuerungs-Leitungsadreßregisters (38) erfolgt.
    |5. Nachrichtenübertragungsanlage nach Anspruch 3, dadurch : gekennzeichnet,
    daß dem Eingang des Empfangswarteschlangenregisters (108) im Abtaster (201) aus einer Abtasttabelle (in 190) die Leitungsadresse der Leitung (215), über die als nächste eine Datenübertragung von einer Endstelle zum Computer (200) erfolgen soll, sowie parallel dazu von der adressierten Leitung (215) ein empfangenes Datenbyte zugeführt wird,
    daß in der Steuereinheit (204) eine Statuserkennungsvorkehrung vorgesehen ist, der vom Ausgang des Empfangswarteschlangenregisters (108) die anstehende Leitungsadresse zugeführt wird,
    daß für den Fall des Anstehens einer gültigen Leitungsadresse eine aktivierbare Verbindung für die überführung
    806823/0574
    BC 977 003/004
    dieser Leitungsadresse vom Ausgang des Empfangswarteschlangenregisters (108) zum Steuerungs-Leitungsadreßregister (38) und des weiteren ein für den genannten Fall aktivierbarer Datenübertragungsweg (44, 148/150, 152, 102, 110, 145, 146, 148/150, 213) für die Überführung des empfangenen Datenbytes aus dem Datenbereich des Empfangswarteschlangenregisters (108) zum Leitungssteuerblock- j bereich im Arbeits-Speicher (132) der Steuereinheit (204) und von dort weiter (über 157, 145, 146, 148/ 150, 152, 102, 110, 145, 146, 148/150, 46, 67, 212) zum Computer (200) vorgesehen ist,
    wobei die Adressierung des Arbeits-Speichers (132) jeweils seitens des Steuerungs-Leitungsadreßregisters (38) erfolgt.
    6. Nachrichtenübertragungsanlage nach Anspruch 1, dadurch gekennzeichnet,
    daß der Kanalanschluß (205), die Steuereinheit (204) und der Abtaster (201) die Kombination der nachstehend genannten Merkmale aufweisen:
    ein Speicher (128, 130, Teil von 132) für Programme mit Instruktionsdaten zur Steuerung der Datenübermittlung sowie Speichervolumen (in 132) für die Zwischenspeicherung von leitungsspezifischen Daten in Leitungssteuerblockbereichen,
    wobei jeder Leitungssteuerblock für die Speicherung von Statusinformationen, Steuerinformationen und Nutzdaten je einer der Übertragungsleitungen (203, 215) vorgesehen ist; ein Speicheradreßregister (119, 121, 123, 124) für die Bereithaltung von Adressen beim Zugriff zu Instruktionsdaten im Speicher (128, 130, 132) sowie ein Steuerungs-Leitungsadreßregister (SLAR 38) für die Bereit-, haltung von Adressen beim Zugriff zu den Leitungssteuer- j blockbereichen im Arbeits-Speicher (in 132); programmgesteuerte Register (71, 73, 74) für die Bereithaltung von Speicheradressen des Hauptspeichers des
    BC 977 003/004 ÖÖ9823/05 7 4
    j - 5 -
    Computers (200) bei der Nutzdatenübermittlung zwischen Computer und programmierbarem Anlagenteil; ein Datenteil in einem Empfangswarteschlangenregister (108), für die Zwischenspeicherung von Datenbytes in der Reihenfolge, in der sie von den einzelnen übertragungsleitungen (215) empfangen werden;
    für jede der vorgesehenen Übertragungsleitungen (203, 215) je ein Serialisierer-Deserialisierer-Register (119)und ein Sende-Pufferregister (115);
    für alle Leitungen gemeinsam eine programm-logische Anordnung (118) für die Steuerung der multiplexen Datenbyteübertragung zwischen den einzelnen Leitungen und den zugehörigen Serialisierer-Deserialisierer-Registern (119); ein Verbindungsweg (275, 276, 277, 174, 175, 118c, 262, 255e) für die Übertragung kompletter Datenbytes von den einzelnen Leitungen zum zugehörigen Serialisierer-Deserialisierer-Register (119) und von dort weiter zum Datenteil des Empfangswarteschlangenregisters (108) und parallel dazu ein Übertragungsweg für die Leitungsadresse vom Abtaster-Leitungsadreßregister (114) (über 253, 266, 268) zum zugehörigen Adreßteil des Empfangswarteschlangenregisters (108);
    ein zum Steuereinheits-Leitungsadreßregister (SLAR 38) führender programmaktivierbarer übertragungsweg für die Leitungsadresse aus der Empfangswarteschlange (108) sowie ein programmaktivierbarer Übertragungsweg für das zugehörige Nutzdatenbyte zum Leitungssteuerblockbereich (LSB) im Arbeitsspeicher (in 132) nach Maßgabe der vom Steuerungs-Leitungsadreßregister (38) abgegebenen Leitungs-
    \ adresse;
    ein Abtaster-Leitungsadreßregister (SLAR 114) für die Zugriffsbestimmung zu den einzelnen Übertragungsleitungen
    J und deren zugehörigen Serialisierer-Deserialisierer-Registern (119);
    ; ein Übertragungsweg für die Übertragung des jeweils nächstfolgenden Nutzdatenbytes vom Sendepufferregister (115) (über 118b, 255e) zum zugehörigen Serialisierer-Deseria-
    BC 977 003/004 $09823/0 5 74
    lisierer-Register (119), immer dann, wenn ein komplettes Datenbyte vom Serialisierer-Deserialisierer-Register zur zugehörigen Übertragungsleitung beim Senden übermittelt worden ist;
    ein Sendewarteschlangenregister (104); einen nach jeder Datenbyteübertragung vom Sendepufferregister (115) zum Serialisierer-Deserialisierer-Register (119) aktivierbarer Übertragungsweg(über
    253, 266, 268) vom Abtaster-Leitungsadreßregister (114) für die übertragung der Leitungsadresse aus dem Abtaster- ■ Leitungsadreßregister (114) zum Sendewarteschlangenregister (104) ;
    eine Steuerleitung (287) für die Durchgabe einer Unterbrechungsanforderung vom Sendewarteschlangenregister (104), zum Steuerblock (134) der Steuereinheit (204), wenn die Leitungsadresse einer zu bedienenden Leitung am Sendewarteschlangenregister (104) ansteht; ! ein programmaktivierbarer, vom Leitungssteuerblock im Arbeits-Speicher (in 132) ausgehender übertragungsweg (über 157, 145, 146, 148/150, 152, 100, 110, 145, 146, 148/150, 46, 112, 255d) zum Sendepufferregister (115), über den die Übertragung des nächsten zu sendenden Datenbytes zum zur vorgesehenen Übertragungsleitung (203) gehörenden Sendepufferregister (115) erfolgt, wobei das Abtaster-Leitungsadreßregister (ALAR 114) die Adressierung des Sendepufferregisters durchführt.
    7. Nachrichtenübertragungsanlage nach Anspruch 6, dadurch gekennzeichnet,
    daß ihr programmierbarer Übertragungs-Anlagenteil (PAT) im Abtaster (201) !
    einen Steuerspeicher (192) mit Arbeitsregistern (191, j
    193, 195, 197, 199, 111, 113, 115, 119, 12T) für die j
    j einzelnen Leitungen (203, 215) und ■
    eine Abtasttabelle in einem Speicher (190) aufweist, j welche Tabelle zu jeder Leitungsadresse der einzelnen vorgesehenen Übertragungsleitungen (203, 215) eine
    BC 977 003/004 909823/057A
    : entsprechende Steuerspeicheradresse bereithält, und daß eine Taktimpulsquelle (Ring 252) vorgesehen ist, die : die periodisch-zyklische Auslesung der in der Abtasttabelle gespeicherten Adressen in der eingegebenen Reihen- ] folge durchführt,
    j wobei die Arbeitsregister der einzelnen Leitungen mittels ihrer zugeordneten Steuerspeicheradressen periodisch nacheinander aufgerufen werden.
    8. Nachrichtenübertragungsanlage nach Anspruch 7, dadurch gekennzeichnet,
    daß die Adressen mindestens eines Teils der vorgesehenen Leitungen in der Abtasttabelle (in 190) mehrfach gespeichert sind, womit die Häufigkeit des Zugriffs zu diesem Teil der Leitungen gegenüber nur einfach aufgeführten Leitungen erhöht ist.
    ; 9. Nachrichtenübertragungsanlage nach Anspruch 7 oder 8, ! dadurch gekennzeichnet,
    daß die Leitungsadressen in die Abtasttabelle sowie
    ι Betriebskonstanten in einen Teil der Arbeitsregister
    j des Steuerspeichers (192) vor Beginn des Übertragungsbetriebs seitens des Computers (200) eingebbar sind und
    j des weiteren seitens des Computers während des Betriebs ι
    abänderbar sind.
    10. Nachrichtenübertragungsanlage nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet,
    daß sie eine zeitmultiplex verwendbare, programmge- [ steuerte Anordnung (78, 80) für die Erzeugung von j Redundanzprüfzeichen beim Senden und für die Prüfung J
    aufgenommener Redundanzprüfzeichen beim Empfangen aufweist,
    wobei die Zwischenspeicherung von Redundanzzwischenergebnissen jeweils in den den einzelnen bedienten Leitungen (203, 215) zugeordneten Leitungssteuerblöcken erfolgt.
    BC 977 003/004 800823/0 5 74
DE19782848642 1977-11-29 1978-11-09 Programmierbare nachrichtenuebertragungsanlage Withdrawn DE2848642A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/855,578 US4156796A (en) 1977-11-29 1977-11-29 Programmable data processing communications multiplexer
US05/855,572 US4188665A (en) 1977-11-29 1977-11-29 Programmable communications subsystem

Publications (1)

Publication Number Publication Date
DE2848642A1 true DE2848642A1 (de) 1979-06-07

Family

ID=27127298

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782848642 Withdrawn DE2848642A1 (de) 1977-11-29 1978-11-09 Programmierbare nachrichtenuebertragungsanlage

Country Status (3)

Country Link
DE (1) DE2848642A1 (de)
FR (1) FR2410399B1 (de)
IT (1) IT1160068B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3101984A1 (de) * 1980-02-04 1981-12-03 Nippon Telegraph & Telephone Public Corp., Tokyo Datenuebertragungs-steueranlage

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0048781B1 (de) * 1980-09-26 1985-03-27 International Business Machines Corporation Leitungssteuerung für einen Vorschaltrechner in einem Datennetz
EP0077863B1 (de) * 1981-10-28 1986-09-17 International Business Machines Corporation Abtasteinrichtung für Übertragungsleitungen, bestimmt für eine Übertragungssteuerung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3101984A1 (de) * 1980-02-04 1981-12-03 Nippon Telegraph & Telephone Public Corp., Tokyo Datenuebertragungs-steueranlage

Also Published As

Publication number Publication date
FR2410399B1 (fr) 1986-08-08
FR2410399A1 (fr) 1979-06-22
IT7829732A0 (it) 1978-11-14
IT1160068B (it) 1987-03-04

Similar Documents

Publication Publication Date Title
DE1549532C2 (de) Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten
DE3300261C2 (de)
DE2719253C3 (de) Schnittstellenschaltung für Datenverarbeitungsanlagen
DE2735207C3 (de) Maschinensteuersystem
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE2801563C2 (de)
DE2118581A1 (de) Datenverarbeitungssystem
DE1920454A1 (de) Datenverarbeitungsanlage
DE2452214A1 (de) Mikroprozessor mit unmittelbarer und indirekter adressierung
DE3013070C2 (de) Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2751106A1 (de) Automatisches mehrprozessor-schaltsystem fuer telegrafenleitungen
DE3783061T2 (de) Datenverarbeitungssystem mit veraenderbarer ein/ausgabe-prioritaetswahl.
DE2713253A1 (de) Programmlader fuer ein steuergeraet
DE1774052B1 (de) Rechner
DE3232600A1 (de) Zeitmultiplexschaltmatrix
EP0184706B1 (de) Schnittstelleneinrichtung
DE2351890A1 (de) Multiplexereinrichtung
DE1294429B (de) Schaltungsanordnung zur Datenuebertragung zwischen mehreren Aussenstationen einer Datenverarbeitungsanlage und dem Haupt-speicher der zentralen Verarbeitungseinheit
DE2848642A1 (de) Programmierbare nachrichtenuebertragungsanlage
DE2704560C2 (de) Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE2252282A1 (de) Verfahren zur folgesteuerung von datenuebertragungsleitungen
DE2161213B2 (de) Verfahren und Steuereinheit zum Übertragen von Datenwortblöcken
EP0472775A1 (de) Programmgesteuerte Kommunikationsanlage bzw. Vermittlungseinrichtung

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee