DE3650092T2 - E/a-steuerung mit zwei funktionen. - Google Patents
E/a-steuerung mit zwei funktionen.Info
- Publication number
- DE3650092T2 DE3650092T2 DE3650092T DE3650092T DE3650092T2 DE 3650092 T2 DE3650092 T2 DE 3650092T2 DE 3650092 T DE3650092 T DE 3650092T DE 3650092 T DE3650092 T DE 3650092T DE 3650092 T2 DE3650092 T2 DE 3650092T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- microprocessor
- controller
- status
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 claims abstract description 82
- 238000012546 transfer Methods 0.000 claims abstract description 49
- 239000000872 buffer Substances 0.000 claims description 46
- 230000009977 dual effect Effects 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000011664 signaling Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 15
- 238000004891 communication Methods 0.000 abstract description 7
- 238000012360 testing method Methods 0.000 description 43
- 239000011159 matrix material Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 206010042602 Supraventricular extrasystoles Diseases 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Networks Using Active Elements (AREA)
- Saccharide Compounds (AREA)
- Paper (AREA)
Description
- Diese Veröffentlichung betrifft periphere Steuerungen, welche verwendet werden, um Daten und Steuersignale von einem Zentralverarbeitungssystem zu entfernten Peripheriegeräten zu übertragen, und um die Funktionen einer Eingangs-Ausgangs-Steuerung für Datenübertragungsoperationen zur Verfügung zu stellen.
- Es ist eine der Grundfunktionen eines Computersystems, mit entfernten peripheren Geräten zu kommunizieren, um Datenübertragungen und Steuersignale austauschen zu können, um die in dem Computersystem oder Netzwerk geschaffenen Aufgaben zu erfüllen.
- Um diesen Datenaustausch zu unterstützen wurden periphere Steuerungen entwickelt, die auch E/A-Steuerungen oder Datenverbindungsprozessoren (DLP's, Data Link Processors) genannt werden, und den Zentralrechner für viele seiner Arbeitszyklen entlasten, um dahin zu kommen, daß der Datenaustausch zwischen verschiedenen, entfernten peripheren Geräten und dem Zentralrechnersystem mit minimaler Unterbrechung des Zentralrechnersystemes verwirklicht werden kann.
- Eine Reihe spezialisierter E/A-Steuerungen wurde durch die Burroughs Corporation zum Handhaben der speziellen Anforderungen von Burroughs- Rechnersystemen und Peripheriegeräten entwickelt. Diese spezialisierten peripheren Steuerungen wurden als "Datenverbindungsprozessoren" oder DLP's (Data Link Processors) bezeichnet.
- Diese spezialisierten Burroughs-Datenverbindungs-Prozessoren wurden insbesondere geschaffen, um die durch die Burroughs Rechner und Burroughs-Peripheriegeräte verwendeten, anwendbaren Protokolle und verschiedenen Datenübertragungsanforderungen zu handhaben. Solche Arten von Datenverbindungsprozessoren wurden beschrieben in den früheren Patentspezifikationen:
- US-A-4,313,162, US-A-4,371,948 und US-A-4,390,964.
- Diese Patentschriften liefern den Hintergrund und die Funktionsweise der Datenverbindungsprozessoren, welche verwendet werden, um einen Zentralrechner mit peripheren Stationen zu verbinden.
- Diese Patentschriften beschreiben die einheitlichen Merkmale und Funktionsweise des Burroughs-Typs von Datenverbindungsprozessoren und geben spezifische Einzelheiten der Funktionen der Datenverbindungsprozessoren in Verbindung mit Burroughs-Rechnersystemen und Netzwerken an. Diese früheren Patentschriften beschreiben die verschiedenen Typen möglicher Funktionen und Datenübertragungssteuersignale, welche in den Datenverbindungsprozessoren verwendet werden. Dementsprechend bilden diese Patentanmeldungen einen tiefführenden Hintergrund und Erläuterungen der unterschiedlichen Hardware und zusammenarbeitender Merkmale, welche in Datenverarbeitungsprozessoren verwendet werden.
- Als ein Gegenstand des Hintergrundes werden die Burroughs-Typen von Datenverbindungsprozessoren (E/A-Steuerungen, früher ebenfalls Leitungssteuerprozessoren genannt) als "Status gesteuert" bezeichnet. Dies bedeutet, daß jedem Betriebszustand eines DLP (Datenverbindungsprozessors) eine "Statuszahl" zugeordnet ist, welche den Zustand des DLP und was er in diesem Zustand in der Lage ist zu tun, anzeigt. Daher müssen der Zentralrechner und auch der DLP selbst die "Statuszahlen" des DLP kennen.
- Die "Status"-gesteuerte Art ist in der US-A-4,390,964 gezeigt.
- Eine andere Beschreibung der Anwendung der Statuszählung ist in der US-A-4,162,520 beschrieben.
- Die Information des Statuszählzustandes jedes einzelnen von mehreren DLPs in einem System ist ein wichtiges Datum für den Zentralrechner und andere Steuerelemente in dem System, insbesondere, wenn die Schnittstellenlogik unter zwei oder mehr DLPs verteilt ist.
- In "Computer", Jahrgang 12, Nr. 6, Juni 1979, Long Beach (USA), Seiten 67 bis 78, befindet sich eine Beschreibung des Intel-Prozessors 8089, welcher ein Eingabe/Ausgabe-Prozessor mit zwei separaten Eingabe/Ausgabe-Kanälen ist. Die zwei Eingabe/Ausgabe-Kanäle arbeiten auf der Basis, daß der Prozessor zwischen den zwei Kanälen nur mit jedem internen Zyklus umschaltet, welcher 4 bis 8 Zeitzyklen plus der Verwendung eines besonderen Algorhithmus für die Kanalselektion beinhaltet. Der bekannte Prozessor benötigt einen speziellen Mikroprozessorbefehlssatz mit Routinen für die Kanalselektion, welche langsam sind und einen geringen Durchsatz aufweisen. Der Intel-Prozessor muß stets auf einen Hauptspeicher zugreifen, um Programmbefehle vor der Ausführung zu erhalten. Solche Maßnahmen bewirken beträchtliche Zeitverzögerungen, welche nachteilig und nicht erwünscht sind.
- Die vorliegende Erfindung offenbart eine E/A-Steuerung mit zwei Funktionen, die einen Zentralrechner bedient, zum Verwalten von Datenübertragungen zwischen einem Doppelanschlußpufferspeicher und zwei unterschiedlichen Typen peripherer Interfaces, wobei die E/A-Steuerung umfaßt:
- (a) ein gemeinsames Datenverbindungsvorschaltinterface, welches einen Datenpfad zwischen dem Zentralrechner und dem Pufferspeicher unter der Steuerung durch ein Datenverbindungsinterfacesteuermittel und einen Datenpfad zwischen dem Pufferspeicher und zwei Typen peripherer Interfaces unter Steuerung durch einen Mikroprozessor bereitstellt und Informationsabgabemittel für den Zentralrechner beinhaltet, um Befehlsdaten sequentiell zu/von den beiden Arten peripherer Interfaces über den Mikroprozessor zu übertragen;
- (b) den Mikroprozessor zum Selektieren von Datenübertragungsoperationen mit einem bestimmten peripheren Interface infolge eines Befehls des Zentralrechners;
- (c) ein Druckerinterface zum Senden/Empfangen von Daten zu/von dem Pufferspeicher unter Steuerung des Mikroprozessors;
- (d) ein Bandinterface zum Senden/Empfangen von Daten zu/von dem Pufferspeicher unter Steuerung des Mikroprozessors;
- dadurch gekennzeichnet, daß das Datenverbindungsinterfacesteuermittel und der Mikroprozessor alternativ auf den Doppelanschlußpufferspeicher zugreifen, um gleichzeitige Datenübertragungen zwischen dem Zentralrechner und dem Pufferspeicher und Datenübertragungen zwischen dem Pufferspeicher und den peripheren Interfaces durch den Mikroprozessor selektiert zu ermöglichen, und daß das Informationsabgabemittel vorgesehen ist zum Abgeben von Informationen an den Zentralrechner gemäß dem Fertig- oder Nichtfertig-Status und dem Anforderungs- oder Nichtanforderungszustand der peripheren Interfaces und eine anforderungsprogrammierbare Array- Logikeinheit zum Vorgeben der Priorität der Anforderung an den Zentralrechner beinhaltet, wenn beide periphere Interfaces gleichzeitig eine Bedienung anfordern, und um ebenfalls die Richtung der Datenübertragung vorzugeben.
- Weitere vorteilhafte Ausführungsformen sind durch die Unteransprüche 2 bis 7 beschrieben.
- Die vorliegende Erfindung ist ein Datenverbindungsprozessor, welcher kompatibel mit Burroughs-Rechnernetzwerken und Systemen ist, welcher jedoch speziell entwickelt wurde, um zwei Arten von entfernten peripheren Geräten mit einem einzelnen Datenverbindungsprozessor zu handhaben. Dieser Datenverbindungsprozessor wird gepufferter Drucker-Band- Datenverbindungsprozessor (PT-DLP, Printer-Tape Data Link Processor) genannt und ist hier offenbart.
- Die vorliegende Erfindung offenbart eine Kombination zusammenarbeitender Hardwareelemente, welche einerseits an das Zentralrechnersystem angeschlossen sind und zu Datenübertragungen und zur Kommunikation zu und von zwei unterschiedlichen Arten von entfernten peripheren Einheiten in der Lage sind. Diese peripheren Einheiten bilden eine gepufferte Druckerstationseinheit und ebenfalls eine periphere Bandstreamereinheit, welche zusammengeschaltet ist, um Kommunikationsübertragungen zwischen dem Zentralrechner und vier Bandeinheiten zu ermöglichen.
- Somit erlaubt die vorliegende Systemarchitektur die Teilung einer Zentralsystemschnittstelle zwischen zwei peripheren Schnittstellen durch eine besondere Einheit, die als Drucker-Band-Datenverbindungsprozessor bezeichnet wird.
- In dem beschriebenen Datenverbindungsprozessor sind erste und zweite "virtuelle" Steuerungen vorgesehen, eine für die Druckerperipherie und eine für die Reihe von Bandperipherien. Beide virtuelle Steuerungen teilen sich eine DLI-Vorschaltschnittstelle zu dem Hauptsystem (DLI = Datenverbindungsschnittstelle).
- Da die geteilte, gemeinsame Vorschalt-Schnittstellenlogik nur von einer virtuellen Steuerung zur Zeit benutzt werden kann, ist ein Entscheidungssystem vorgesehen zum Auswählen, welche virtuelle Steuerung die geteilte Schnittstellenlogik verwendeten kann.
- Da diese virtuellen Steuerungen als "Datenverbindungsprozessoren" wirken, welche einem vorgeschriebenen Satz von Routinen folgen, die durch "Statuszählungen" identifiziert werden, stellt das System zwei Statusregister bereit, um den Zentralrechner über die Betriebsstatusmöglichkeiten jeder virtuellen Steuerung informiert zu halten. Eine anforderungsprogrammierbare Matrixlogikeinheit (REQ-PAL, Request-Programmable Array Logic Unit) empfängt Daten, um zu bestimmen, welche virtuelle Steuerung die geteilte Schnittstellenlogik zu einer bestimmten Zeit verwenden will.
- Somit wird, wenn der Zentralrechner die erste virtuelle Steuerung anspricht und die erste virtuelle Steuerung ebenfalls Unterstützung anfordert, das REQ-PAL der geteilten Logik ermöglichen, eine ID der anfordernden Steuerung an das Zentralsystem zu übertragen. Andererseits wird, wenn das Zentralsystem die erste virtuelle Steuerung anspricht und die erste Steuerung keine Unterstützung anfordert, aber "fertig" ist, die geteilte Schnittstellenlogik in die Lage versetzt, einen Befehl von dem Zentralsystem zu der ersten virtuellen Steuerung zu transportieren. Das REQ-PAL wird durch ein Mikroprozessorsystem gesteuert, welches als Hauptsystem zur Steuerung eines nebengeordneten Subsystems wirkt, welches hilft, Datenübertragungen auszuführen.
- Eine Direktspeicherzugriffs-(DMA)-Schalteinheit ist mit zwei Steuerdatenkanälen, welche zum Verwalten der Datenübertragungen zwischen dem Hauptmikroprozessor und den peripheren Bandeinheiten verwendet werden. Wenn "Steuerdaten" über einen Kanal zu einer Bandsteuereinheit übertragen werden und nachfolgend der aktuelle "Daten"-Übertragungszyklus anschließt, wird die Bandsteuereinheit automatisch in eine Verbindung mit dem anderen "Steuerdaten"-Kanal umgeschaltet, ohne die Notwendigkeit des Eingriffs durch das Hauptmikroprozessorsystem. Dies geschieht, um einen schnelleren Datenfluß in beiden Richtungen zu unterstützen, ohne den Hauptmikroprozessor zu belasten.
- Somit stellt die Architektur des hier offenbarten Drucker-Band-Datenverbindungsprozessors ein sehr wirksames und zeitsparendes Verfahren zur Verfügung, durch welches eine bestimmte E/A-Steuerung den Datenübertragungsfluß zwischen zwei Arten von peripheren Anschußeinheiten (insbesondere einer Druckereinheit und bis zu vier Bandeinheiten) steuern kann und erlaubt währenddessen einen simultanen Datenübertragungsbetrieb aus einem Pufferspeicher in beiden Richtungen zu und von dem Zentralrechner und zu und von den peripheren Einheiten.
- Figur 1 ist ein Blockschaltbild, das zeigt, wie der Drucker-Band- Datenverbindungsprozessor mit einem Zentralsystem wirkt, um eine Schnittstelle zu entfernten peripheren Einheiten zur Verfügung zu stellen;
- Figur 2 ist ein Blockschaltbild der Hauptelemente des Drucker- Band-Datenverbindungsprozessors mit besonderem Bezug auf die Datenflußleitungen;
- Figur 3 zeigt ein detaillierteres Blockschaltbild des Drucker- Band-Datenverbindungsprozessors, welches anzeigt, wie die Steuerleitungen des Mikroprozessorsystems die Vorschalt- Datenverbindungsschnittstelle mit den peripheren Anschlußeinheiten verbindet;
- Figur 4 ist ein Gesamtblockschaltbild des Drucker-Band-Datenverbindungsprozessors;
- Figur 5 ist ein Ablaufplan, welcher den Grundbetrieb der Druckerschnittstellen-Zustandsmaschine zeigt;
- Figur 6 ist ein Ablaufdiagramm, welches den Grundbetrieb der Bandschnittstellen-Zustandsmaschine zeigt;
- Figur 7 ist ein Zeitdiagramm des Lesezyklus, Schreibzyklus und des DLI-Zugriffszyklus des Mikroprozessorsystems und zeigt die DLI-Zustandsmaschinen-Steuerzugriffsperiode abwechselnd mit der Mikroprozessor-Systemzugriffsperiode zum Einfügen oder Entfernen von Daten in den/aus dem Pufferspeicher des Datenverbindungsprozessors.
- Figur 8 ist eine vereinfachte Darstellung, die die automatische Kanalumschaltung für die Steuerdatenverwendung darstellt.
- Wie bei anderen Typen von Burroughs Datenverbindungsprozessoren, wie den unter der Überschrift "Hintergrund der Erfindung" beschriebenen, ist der vorliegende Datenverbindungsprozessor kompatibel mit den meisten Rechnersystemen, welche das Message Level Interface (MLI) zur parallelen Übertragung von Datensteuersignalen und Daten zwischen dem Zentralsystem und dem Datenverbindungsprozessor verwenden, wie in den früheren Patenten betreffend Datenverbindungsprozessoren beschrieben wurde. Entsprechend schließt die Verteilungskarte 20 in Figur 1 den Zentralrechner über das MLI und den Datenverbindungsprozessor über das DLI an.
- Aus der Sicht des Zentralrechnersystems betrachtet erscheint der Drukker-Band-Datenverbindungsprozessor (PTDLP) als ein separater Drucker- DLP und als ein separater Streamer-Band-DLP. Jeder dieser zwei funktionalen Datenverbindungsprozessoren (welche hier in einer Einheit zusammengefaßt sind) hat eine Adressleitung (LCP-Adresse) und ebenfalls eine Anforderungsleitung (LCP-Anforderung), so, als wären sie zwei separate Datenverbindungsprozessoren. Daher werden die Funktionen und Beschreibung des vorliegenden Drucker-Band-Datenverbindungsprozessors in zwei Abschnitten dargestellt, welche die gepufferte Druckersektion und die Streamerband-Sektion beschreiben.
- Die gesamte Hardware des Drucker-Band-Datenverbindungsprozessors ist auf einer Logikplatine montiert, welche an eine Datenverbindungsschnittstellen-Rückseite angeschlossen ist. Es sind Vorderseitenkabel vorhanden, welche an die peripheren Adapterkarten (PAC's) angeschlossen sind, welche in den Figuren 1 und 4 als Elemente 305, 306 und 404 gezeigt sind. Somit wird, wie erkennbar ist, eine PAC 404 in der Druckerschnittstelle verwendet und zwei PACs 305, 306 werden in der Streamer-Bandschnittstelleneinheit verwendet.
- Die Streamer-Bandschnittstelleneinheit ist in Figur 2 als Element 30 zu sehen und erlaubt einen direkten Anschluß an vier solcher Magnetband-Streamereinheiten, wie sie durch die Burroughs Corporation für periphere Magnetbandeinheiten entwickelt wurden. Diese Schnittstelle 30 erfordert keine (und erlaubt auch keine) Bandsteuereinheit (TCU) in dem Pfad zu dem Bandlaufwerk. Der Formatierer und die Steuerung für das Bandlaufwerk sind in dem Bandlaufwerk enthalten.
- Wie in Figur 1 erkennbar ist, können die Bandlaufwerke verkettet werden, so daß bis zu vier Magnetband-Streamereinheiten verbunden werden können und eine einzelne Steuerungskarte und die zwei peripheren Adapterkarten 305 und 306 aus Figur 1 verwenden. Ein Schnittstellenkabel erstreckt sich durch einen Anschluß an jedem Bandlaufwerk und das letzte Bandlaufwerk in der Kette verwendet einen Abschlußverbinder.
- Das Bandlaufwerk kann mit 25 oder bis zu 100 Inches pro Sekunde unter Softwaresteuerung mit einer Rückspulgeschwindigkeit von 200 Inches pro Sekunde arbeiten. Dies ergibt eine Datenübertragungsgeschwindigkeit von 40 oder 160 Kilobytes pro Sekunde in dem peripheren Interface. Etwa 40 Megabytes-Daten passen auf eine 2400-Fuß-, 10 1/2-Inch-Bandrolle, wenn 5000 Bytes für jede Aufzeichnung verwendet werden.
- Das verwendete Bandformat ist der ANSI-Standard X 3.39-1973 (PE), der 1600 Bytes pro Inch beträgt, Phasen codiert (PE) mit den Standardaufzeichnungsabständen. Dies erlaubt es, die gleichen Bänder in magnetischen Streamereinheits-Bandlaufwerken und in 75/125 Inch pro Sekundephasencodierten Bandlaufwerkseinheiten zu beschreiben und zu lesen.
- Der Drucker-Band-Datenverbindungsprozessor ist so aufgebaut, daß er eine einheitliche und auswählbare Datenverbindungsprozessoradresse für die Bandschnittstelle zur Verfügung stellt.
- Die andere Schnittstelle des Datenverbindungsprozessors ist die Drukkerschnittstelle 40. Die Druckerschnittstelle ist an eine Burroughs Hochgeschwindigkeits-Standardschnittstelle (HSSI, high speed standard interface) angeschlossen, welche als Element 40 in Figur 2 zu sehen ist. Diese Schnittstelle kann durch das in Burroughs-Systemen verwendete Burroughs-Druckerschnittstellenprotokoll modifiziert werden. Es kann lediglich eine Druckereinheit (Leitungsdrucker 44) durch die einzelne periphere Adapterkarte 404 aus Figur 1 an den Drucker-Band-Datenverbindungsprozessor angeschlossen sein.
- Die der Druckerschnittstelle mögliche Datengeschwindigkeit beträgt 31,25 Kilobytes pro Sekunde. Die Datengeschwindigkeit von der Druckerschnittstelle kann bei Burroughs-B 924-Druckern 153,8 Kilobyte pro Sekunde betragen. Bei den Burroughs-B 9246-Druckern beträgt die Datengeschwindigkeit von der Druckerschnittstelle 100 Kilobytes pro Sekunde.
- Wie bereits vorher in bezug auf die "Band"-Schnittstelle erwähnt, stellt der Datenverbindungsprozessor (DLP) ebenfalls eine einheitliche, auswählbare DLP-Adresse für die "Drucker"-Schnittstelle zur Verfügung.
- Bezug nehmend auf die Figuren 1, 2, 3 und 4 wird die folgende Beschreibung die verschiedenen Funktionen der in diesen Zeichnungen dargestellten Hardware unter besonderer Berücksichtigung von Figur 4 zeigen.
- Der Drucker-Band-Datenverbindungsprozessor besteht aus einem Mikroprozessorsystem 101, welches drei andere Zustandsmaschinen steuert. Das Mikroprozessorsystem 101 beinhaltet ebenfalls eine DMA-Steuerung 101d und einen Mikroprozessor 101m. Die hier besprochenen Steuerungen werden manchmal als "Zustandsmaschinen" bezeichnet.
- Die drei anderen, einbezogenen Zustandsmaschinensteuerungen sind:
- (a) Die DLI-Schnittstelle 201 (Figur 4);
- (b) die Druckerschnittstellen-Zustandsmaschine 401 (Figur 4);
- (c) die Bandschnittstellen-Zustandsmaschine 301 (figur 4).
- Ein Doppelanschluß-DLI-Pufferspeicher 108 (Figuren 2, 4) mit 8 Kilobytes und der lokale Mikroprozessor-RAM-Speicher (101m, Figur 2) mit 4 Kilobytes werden verwendet, um die Daten zu und von den peripheren Einheiten zu puffern.
- Das in den Figuren 3 und 4 gezeigte Mikroprozessorsystem 101 beinhaltet eine Interrupt-Steuerung (in 101), eine DMA-Steuerung 101d aus Figur 3, eine Geräteselektionslogik (113, Figur 4) ein RAM (108 aus Figuren 3, 4), ein löschbares PROM (EPROM) und ein RAM, welches im Block 101 aus Figur 4 arbeitet. Der gesamte Programmspeicher ist in dem EPROM angeordnet.
- Der Mikroprozessor 101m ist ein 8 Megahertz-16 Bit-Mikroprozessor des Typs, der von der Intel Corporation als 8086 bezeichnet wird. Diese Prozessoreinheit ist beschrieben in dem Handbuch mit dem Titel "iAPX 86, 88 Users Manual", Seiten 1-2 bis 2-72, copyright 1981, veröffentlicht durch Intel Corp. in 3065 Bowers Avenue, Santa Clara, Californien 95051.
- Das Mikroprozessorsystem 101 stellt einen Adressraum von 64 Kilobytes zur Verfügung, in welchem eine Speicheraufteilung verfügbar ist, welche die folgenden Funktionen umfaßt:
- (a) 32 Kilobytes des EPROM für Interrupts und Funktionscodes;
- (b) 8 Kilobytes für den Doppelanschluß-RAM (108);
- (c) 4 Kilobytes für die speicherbelegende E/A;
- (d) 4 Kilobytes für lokalen RAM-Speicher (101my);
- (e) 16 Kilobytes vom EPROM zum Zurücksetzen und MTR (Wartungs-Testroutinen, Maintenance Test Routines)-Code.
- Dieser lokale EPROM-Speicher ist in zwei Bänke aufgeteilt, welche durch ein als "Bus high Enable" bezeichnetes Signal und durch die A0- Adressleitung getrennt aktiviert werden.
- Die Adressdecodierung wird in zwei Stufen ausgeführt. Die erste Stufe wird ausgeführt durch eine als FPLA bezeichnete, programmierte Logikmatrix. Geräte, die eine längere Einstellzeit für die Selektion benötigen, verwenden direkt die Ausgaben von der ersten Stufe. Diese beinhaltet den Speicher (in 101), die Interruptsteuerung (in 101) und die DMA-Steuerung (101d).
- Die Steuersignalspeicher (110, Figuren 3 und 4) und die Statuspuffer, wie 105 und 106 in Figur 4 (auf welche durch den Mikroprozessor 101 zugegriffen wird), verwenden die Ausgaben der zweiten Stufe, welche aus drei Decodierern (113, Figur 4) besteht, die durch die erste Stufe aktiviert werden.
- Die Interrupt-Steuerung (in 101) wird in dem flankengetriggerten Modus verwendet, um die als DLI-Mitteilung bezeichneten DLIMESS (DLI Mitteilung) und ebenfalls das Signals DMAEND (direct-access-end-of-transmission) zusätzlich zu dem 500 Mikrosekunden-Timingsignal zu erfassen. Die Interrupt-Steuerung (in 101) stellt Vektoradressen für den Mikroprozessor 101m zur Verfügung.
- Der Löschen/Selbsttest-Interrupt (70, Figur 4) ist an die Leitung des nichtmaskierbaren Interrupt des Mikroprozessors 101 (Intel 8086) gebunden. Der Platinenselbsttest/Rücksetzen und der manuelle Selbsttest/Rücksetzen sind an die Rücksetzleitung des Mikroprozessors 8086 gebunden. Der nichtmaskierbare Interrupt und die Rücksetzinterrupts erzeugen in dem 8086 interne Vektoren und entfernen die Interruptsteuerung (in 101) aus der Selbsttestarbeitsschleife.
- Die DMA-Steuerung (101d) wird verwendet, um Daten zu und von den peripheren Schnittstellen 30 und 40 (Figur 3) und dem Mikroprozessor-Lokalspeicher 101my (Figur 2) zu übertragen. Die DMA-Steuerung überträgt ebenfalls Daten zu und von der Bandschnittstelle 30 und dem Doppelanschluß-Pufferspeicher 108 in den Figuren 3, 4.
- Einer der DMA-Kanäle wird ausschließlich der Druckerschnittstelle zugeordnet. Dann werden zwei der Kanäle ausschließlich der Bandschnittstelle zugeordnet. Die DMA-Steuerung 101d in dem Mikroprozessorsystem 101 hat zwei "Steuerdaten"-Kanäle zu einem DMA-Schalter 101: in Figur 3, welche verwendet werden, um alternierend die "Steuerdaten" zu der Bandschnittstelle 30 zu schalten.
- Ein Multiplexer (in 101s, Figur 3) ist in eine programmierte Matrixlogikeinheit implementiert, welche die Anforderungs-, Bestätigungs- und Verarbeitungsende-Signale zu den zugeordneten Kanälen leitet. Ein "Verarbeitungsende"-Signal von der DMA-Steuerung (101d) während der Bedienung der Band-Schnittstelle bewirkt eine Umschaltung auf den anderen Band-"Steuer"-Kanal, nachdem die gültige Bestätigung auftritt.
- Ein von dem DMASWITCH-Signal (aus 101s) in der programmierten Logikmatrix erzeugtes Signal (OVRUN) wird verwendet, um anzuzeigen, daß die Umschaltung vorgenommen wurde, bevor der Mikroprozessor Zeit hatte, den Kanal zu initialisieren. Daher wird das Signal "UP.DSRST" verwendet, um den internen OVRUN-Zustand bei der Initialisierung des DMA- Kanals "zurückzusetzen", wenn dieser auftritt.
- Der Takt für den Mikroprozessor 101 wird abgeleitet von dem 8 Megahertz-DLI-Hintergrund-Takt (50, aus Figur 4) unter Verwendung einer Verzögerungsleitung und von Torschaltungen. Das "Fertig"-Eingangssignal für den Mikroprozessor 101 (8086) wird durch ein D-Flip-Flop mit einem Takt synchronisiert. Der Takt für die DMA-Steuerung 101d verwendet den durch zwei dividierten 8 Megahertz-Hintergrundtakt, um einen 4 Megahertz-Takt für die DMA-Steuerung 101d, Figur 4, zu erhalten.
- Die DLI-Schnittstelle (vorderes DLI-Ende, Figur 3) besteht aus der Lösch- und der Selbsttest-Auslöselogik 70, Figur 4; den DLI-Sende/Empfangs-Registern (110); dem Datenkettenzähler 104, Figur 4; der Datenkettenende-Logik (103); dem Längsparitäts-Wortgenerator 111, Figur 4; dem Querparitätsgenerator und Wegleitung (109); der Anforderungs- und Notfallanforderungs-Logik (107) und der DLI/Steuerungskommunikationslogik (in 201).
- Eine 2K X 24 Bit DLI-Zustandsmaschine (201, Figur 4) mit Parität nimmt Zustandssignale vom Mikroprozessor 101 an und steuert die Datenelemente. Die DLI-Zustandsmaschine 201 (Figuren 3, 4) nimmt ebenfalls Statussignale von diesen Elementen an und verwirklicht die Steuerung von Teilen dieser Elemente. Die spezifischen Steuerungstypen sind wie folgt:
- (a) Die Lösch- und Selbsttest-Initialisationslogik (70 aus Figur 4) kann erfassen, wann verschiedene Arten von Löschungen und Selbsttests angefordert werden. Das Signal LOCPAL erfaßt die lokale Adresse entweder für den Drucker- oder den Band-Datenverbindungsprozessor und validiert diese mit dem Signal ADRVLD (Adresse gültig) und dem Signal LOCAD (lokale Adresse).
- Der Vergleich des lokalen Adress-DIP-Schalters mit den "LOCAD"-Signalen wird für das PS (Druckerauswahl) und das TS (Bandauswahl)-Signal durch das System 101 synchronisiert;
- (b) Die Erzeugung der Lösch- und der Selbsttest-Signale, der Rücksetzsignale und der Interrupts wird durch das Signal "ADSTCL" (Adresse, Selbsttest, lösche PAL) oder die programmierte Logikmatrix ausgeführt. Sie erzeugt ebenfalls das Signal "CONNECT" unter Verwendung der DLPADP (Drucker-DLP-Adresse) und des Signales DLPADT, welches das Band-DLP-Adreßsignal ist;
- (c) Die DLI-Sende/Empfangs-Register werden implementiert durch Richtungsregister-Signalspeicher (110 aus Figur 4). Das Ausgangsaktivierungssignal auf dem DLI wird generiert durch das "CONNECT"-Signal und durch das IOSEND-Signal.
- Die Signalspeicheraktivierung von dem DLI wird durch das AF (Asynchron-Flag)-Signal gesteuert. Das Takten und Aktivieren des vorderen DLI-Endes wird durch die DLI-Zustandsmaschine 201, Figur 4, gesteuert.
- (d) Der Datenkettenzähler 104, Figur 4, ist implementiert in einem 20 X 8 PAL, welches als ein 8 Bit-Zähler programmiert ist. Es kann durch den Hauptmikroprozessor 101m gelesen und geladen werden mit dem durch die DLI-Zustandsmaschine 201 generierten Zähler aktiv-Signal;
- (e) Die Datenkettenendelogik in 101 verwendet das Signal TERM (Beenden), das Signal CO (Ausführen der Datenkettenzählung) und das Signal STIOL (Abtast-E/A-Pegel), um eine Bedingungssignal an die DLI-Zustandsmaschine 201, Figur 4, zum Beibehalten des Datenkettenmodus abzugeben;
- (f) Der Längsparitätsgenerator 111 aus Figur 4 ist in zwei Programm-Matrix-Logikeinheiten implementiert , welche programmiert sind, um die Längsparitätswortakkumulation auszuführen. Ein aus zwei Signalspeichern 111 gebildeter Datenweiterleitungs-Signalspeicher wird verwendet, um den Timing-Anforderungen auf dem internen DLI-Datenbus (200b, Figur 4) zu genügen. Der Mikroprozessor 101m steuert das Freigeben und prüft den Längsparitätswort-"Null"-Status (LPWZERO), welcher anzeigt, ob das übertragene Wort ohne Fehler ist oder nicht. Die DLI-Zustandsmaschine 201 steuert die Akkumulation und das Lesen des LPW-Generators 111. Die Durchleitungs-Signalspeicher-Aktivierung (schließt 201 an Einheit 111 an) wird ebenfalls durch die DLI-Zustandsmaschine 201 gesteuert;
- (g) Die Querparitätserzeugung und Wegleitung wird durch zwei 9- Bit-Paritätsgeneratoren (109, Figur 4) in Verbindung mit vierfach-2 x 1-Tristate-Multiplexern ausgeführt. Ein bidirektionales Register/Signalspeicher 111, Figur 4, wird verwendet, um das Paritätsbit in der Datenverbindungsschnittstelle zu senden und zu empfangen. Die Querparität wird generiert und in das Paritäts-RAM (Teil von 108) geschrieben, wenn das Mikroprozessorsystem 101 in das Doppelanschluß-RAM (108 aus den Figuren 3, 4) schreibt.
- Die Querparität wird geprüft, wenn die DLI-Schnittstelle (Figur 3) in das Doppelanschluß-RAM (108) schreibt und die gültige DLI-Parität wird in das Paritäts-RAM (aus 108) geschrieben. Die Querparität wird aus dem Paritäts-RAM gelesen, wenn in die DLI-Datenverbindungsschnittstelle eingelesen wird. Das Timing des Speicherschreibzyklus wird durch Verwenden eines Tristate- Puffers anstelle der Verwendung der Tristate-Fähigkeit eines bidirektionalen Register-Signalspeichers eingehalten. Zum Speichern des Paritätsprüfungsergebnisses und zum Erzeugen des Signales VPERR (Querparitätsfehler)-Statussignales zum Mikroprozessor 101m wird ein Flip-Flop verwendet;
- (h) Die Anforderungs- und Notanforderungs-Logik ist in einer programmierten Matrixlogikeinheit implementiert, die als REQPAL (in 107) bezeichnet wird. Der Mikroprozessor 101m steuert die Einstellung der Druckeranforderungs-, der Bandanforderungs- und der Notbandanforderungs-Signale. Das Signal REQPAL überwacht den Notanforderungseingang, um die Druckeranforderung zu entfernen. Es setzt ebenfalls die Bandanforderung zurück, wenn nicht die Notbandanforderung gesetzt ist. Die DLI-Zustandsmaschinensteuerung 201 steuert das Löschen der REQPAL-Anforderungen, wenn sie erfüllt sind, um den DLI-Timing-Anforderungen zu entsprechen;
- (i) Die DLI/Mikroprozessor-Kommunikationslogik in 201 ist in einer programmierten Matrixlogikeinheit aufgenommen, die DLI/UP PAL genannt wird. Zwei setzbare und löschbare Flags sind vorgesehen. Diese Flags sind:
- i) UPMESS - Mikroprozessormitteilung an das DLI;
- ii) DLIMESS - DLI-Zustandsmaschinenmitteilung an den Mikroprozessor 101.
- Das DLI-Zustandsmaschinenparitätsfehler-Flip-Flop ist ebenfalls in dem DLI/UP PAL implementiert. Der Mikroprozessor 101m gibt die DLI-Operationen (DOPS) an die DLI-Zustandsmaschinensteuerung 201 aus und setzt ein Flag (UPMESS), welches in die Zustandsmaschinenbedingungslogik eingespeist wird. Dann führt die DLI-Zustandsmaschinensteuerung die Operation aus. Die DLI-Zustandsmaschinensteuerung 201 kann dann folgende Operationen ausführen:
- Sendeabtastimpuls
- Lese Daten (ein Wort)
- Schreibe Daten (ein Wort)
- Lese Datenkette
- Schreibe Datenkette
- Warte auf Verbindung zum Zentralrechner
- Warte auf Verbindungsauslösung vom Zentralrechner
- Warte auf AF-Signal (AF-Signal bedeutet ein Handshake-Signal mit dem Zentralrechner - so kann die Steuerung 201 auf AF warten, um dem Mikroprozessor 101m mitzuteilen, wenn der Zentralrechner fertig ist).
- Sende LPW (Längsparitätswort)
- Lesezentralrechner-Zeiger
- Verschiebe LPW in das RAM
- Lese das Senderegister
- Verschiebe das Senderegister in das RAM
- Lade LPW aus dem RAM
- Keine Operation
- Nach dem Ausführen der vorgegebenen Operation setzt die DLI- Zustandsmaschinensteuerung 201 das Signal DLIMESS, welches einen "Interrupt" an den Mikroprozessor 101m ausgibt. Nach dem einleitenden DLIMESS-Interruptsignal wirkt die Leitung DLIMESS als ein "Statuseingang" in den Mikroprozessor 101m, anstelle des konstant auftretenden Interrupts, während der Anschaltung an das Zentralsystem 10.
- Die DLI-Zustandsmachinensteuerung 201 ist unter Verwendung von drei 2K X 8-Registern in dem PROM für den Steuerspeicher und das Durchleitungsregister implementiert. Die Bedingungslogik in 201 ist in einer Programmlogikmatrix FPLA implementiert und der Bedingungsignalspeicher ist in zwei Signalspeichereinheiten vorgesehen.
- Die Eingangssignale der Bedingungslogik der DLI-Zustandsmaschinensteuerung 201 (Figur 4) sind ebenfalls für den Mikroprozessor 101m als Statuseingangssignale verfügbar. Ein 3-Bit-Mikrocodefeld ist zur Bedingungsauswahl vorgesehen. Ein anderes 3-Bit-Feld ist vorgesehen für die einheitliche Auswahl der nächsten Adresse der DLI-Zustandsmaschinensteuerung 201 bei jeder Operation.
- Vier Bits der Steuerspeicheradresse in 201 sind durch die DOP (DLI- Operationen) bereitgestellt. Dies ergibt die Adressierungsumgebung für eine Operation. Drei Bits der Adresse sind belegt durch das einheitliche, nächste Adressfeld. Vier Bits der Adresse sind belegt durch die Bedingungscodeeingänge.
- Die Paritätsprüfung des Steuerspeichers (in 201) erfolgt während der DLP-Operation durch drei 3-Bit Paritätsgeneratoren. Die Paritätsfehleranzeige ist in der als DLI/UP PAL (201, Figur 4) bezeichneten, programmierbaren Matrixlogik enthalten.
- Die hier beschriebene E/A-Steuerung mit zwei Funktionen stellt ein System bereit, durch welches eine Steuerung einen Zentralrechner bedient, so daß der Zentralrechner mit zwei separaten, virtuellen Steuerungen (angeordnet auf einer gedruckten Schaltkreisplatine und sich einige bestimmte gemeinsame Logikschaltungen teilend) kommunizieren kann, um Datenübertragungen auszuführen.
- Um die Wirksamkeit zu maximieren und um die Verschwendung von Zentralrechner-Schnittstellenkomponenten zu vermeiden, muß der Hauptrechner über den Status der angesprochenen virtuellen Steuerung informiert sein, bevor er versucht, Datenübertragungsoperationen auszuführen. Probleme können sich dadurch ergeben, daß der Status der beiden virtuellen Steuerungen für die Abfrage durch den Hauptrechner verfügbar sein muß.
- Da der Zentralrechner zu einer gegebenen Zeit nur mit einer Steuerung physikalisch verbunden sein kann, ist die Zentralrechner-Schnittstellenlogik einer konventionellen Steuerung "frei", während der Zentralrechner mit anderen Steuerungen in der Datenverbindungsschnittstelle (DLI) verbunden ist.
- Dieses Problem der möglichen Abfrage des Status der virtuellen Steuerungen durch den Zentralrechner ist gelöst durch das Vorsehen der ersten und zweiten Status-Signalspeicherregister, welche die Informationen über den Status der ersten und der zweiten virtuellen Steuerung transportieren. Somit liegen dem Zentralrechner jederzeit gültige Statusinformationen über die virtuellen Steuerungen vor, welche der Zentralrechner zur Zeit anspricht.
- Die Relation eines Zentralrechners, der versucht mit zwei Peripherien durch eine E/A-Steuerung mit zwei virtuellen Steuerungen zu kommunizieren, funktioniert, führt aber auch zu weiteren Problemen. Dies sind:
- A. Wenn einer oder beide virtuelle Steuerungen eine Anforderung von Unterstützung durch den Zentralrechner abgeben, ist es notwendig, zu entscheiden und die Verwendung der gemeinsam geteilten, Vorschalt-Schnittstellenlogik (110 aus Figur 3) zu lösen.
- B. Die Steuerung der Schnittstellen-Logikhardware (DLI-Signalspeicher 110) muß auf der Basis der Steuerung, die momentan Unterstützung anfordert und der Steuerung, die momentan durch den Zentralrechner angesprochen wird, erfolgen.
- C. Während der Zeit, in der der Hauptrechner den Status jeder Steuerung ermittelt, muß eine "temporäre Unterstützung" des Statussignales in den entsprechenden Status-Signalspeichern erfolgen, so daß das Statussignal eine bestimmte Darstellung aufweist und nicht zwischen zwei unterschiedlichen Bedingungen hin und herspringt, während es gelesen wird.
- Die hier beschriebene E/A-Steuerung mit zwei Funktionen ist geschaffen, um diese vorstehend erwähnten Probleme zu handhaben und zu lösen.
- Die Entscheidung, welche virtuelle Steuerung die Aufmerksamkeit des Zentralrechners erhalten soll, wird durch eine "anforderungsprogrammierbare Matrixlogikeinheit" gelöst, welche ihre Lösung auf Daten, die zeigen, welche virtuelle Steuerung die "anfordernde" Steuerung ist, und welche Steuerung die "nichtanfordernde" Steuerung ist, und zusätzlicher Daten, welche anzeigen, welche virtuelle Steuerung momentan von dem Zentralrechner angesprochen wird, gründet.
- Aus dieser eingegebenen Information selektiert die "Anforderungs-PAL", welche Steuerung den Zugriff auf die gemeinsam geteilte Vorschalt- Schnittstellenlogik (DLI-Signalspeicher 110, Figur 3) erhalten soll.
- Um die "Stabilität" des Dateneinganges in den Zentralrechner zu erhalten, während der Zentralrechner bestimmte Status-Signalspeicher (Status-Signalspeicher 106 für die virtuelle Druckersteuerung und Status- Signalspeicher 105 für die virtuelle Bandeinheitensteuerung) abfragt, hindert das Mikroprozessorsystem den Mikroprozessor (101, Figur 3) daran, in einen der Signalspeicher 105 oder 106 zu "schreiben", wenn der Zentralrechner diesen Signalspeicher anspricht.
- In Figur 3 ist die E/A-Steuerung mit zwei Funktionen mit darin enthaltenen "zwei" Datenverbindungsprozessoren (DLPs), welche sich eine vordere DLI-Endschnittstelle teilen und zusammen als "eine" Steuerung wirken, zu sehen. Die Steuerung verwirklicht dieses durch die Verwendung von zwei Protokollstatus-Signalspeichern, bezeichnet als 106 und 105, welche von dem Zentralrechner 10 angesprochen werden, um den aktuellen DLI-Schnittstellen-Zustand des angesprochenen Datenverbindungsprozessors an den Zentralrechner zurückzugeben. Wie in Figur 3 zu sehen ist, bildet die E/A-Steuerung in einem Fall einen durch eine Bandschnittstelle 30 wirkenden Datenverbindungsprozessor für eine Mehrzahl von Bandeinheiten, und in dem anderen Fall durch die Druckerschnittstelle 40 einen Datenverbindungsprozessor für die periphere Druckereinheit.
- Entsprechend der Art der Datenverbindungsschnittstelle DLI kann der Zentralrechner 10 nur "einen" Datenverbindungsprozessor in der DLI- Schnittstelle zu einem Zeitpunkt ansprechen. Diese DLI-Schnittstellencharakteristik erlaubt es der Schnittstellenlogik in der DLI- Vorschaltschnittstelle (110, Figur 3), gemeinsam geteilt zu sein.
- Das Beschreiben des Druckerstatus-Signalspeichers 106 und des Bandstatus-Signalspeichers 105 kann bedingt durch den Mikroprozessor 101 erfolgen, so daß die Signalspeicher 106 und 105 beschrieben oder nicht beschrieben werden können, während der Zentralrechner den entsprechenden DLP anspricht.
- Dieses bedingte Schreiben der Status-Signalspeicher 106 oder 105 erfüllt die Anforderung an die DLI-Schnittstelle, daß bestimmte Zustandsänderungen nur auftreten können, während der Zentralrechner den Datenverbindungsprozessor, für den das Statussignal momentan geschrieben wird, "nicht anspricht".
- Das System arbeitet derart, daß, wenn der Hauptrechner eine virtuelle Steuerung über die geteilte DLI-Schnittstelle anspricht, der Mikroprozessor 1 daran gehindert wird, das Statussignal in dem betroffenen Status-Signalspeicherregister zu ändern.
- Ein Statussignal wird an den Mikroprozessor 101 zurückgegeben (zurückgegeben durch den Signalspeicher an den Mikroprozessor), um das Ergebnis des "bedingten Schreibens" anzuzeigen.
- Ein "unbedingtes Schreiben" in die Drucker- und Band-Status- Signalspeicher ist ebenfalls vorgesehen, um andere Anforderungen der DLI-Schnittstelle zu erfüllen.
- Wie in Figur 3 ebenfalls zu sehen ist, kann das Mikroprozessorsystem 101 potentiell an eine Datenkommunikationsschnittstelle und auch an eine Disk-Schnittstelle angeschlossen werden. Somit kann die Doppelfunktionalität der E/A-Steuerung genutzt werden, um abwechselnd die Übertragung von Daten zu und von der Daten-Kommunikationsschnittstelle oder dem Speichermodulgerät (Disk)-Schnittstelle auf einer abwechselnden Basis durch die Doppelfunktionalität der E/A-Steuerung zu steuern.
- Die Unterstützung von mehr als zwei Arten peripherer Schnittstellen zieht das Hinzufügen eines zusätzlichen Status-Signalspeichers für jede zusätzliche virtuelle Steuerung (mit zugehöriger Steuerschaltung) nach sich, um ein Teilen der DLI-Schnittstellenlogik zu erlauben.
- In Figur 3 ist in dem Block "DLI-Vorschaltschnittstelle" 500 die "geteilte Logik" gezeigt, welche für die zwei virtuellen Steuerungen (Drucker-Steuerung und Band-Steuerung) gemeinsam ist.
- Der Zentralrechner 10 gibt eine Adresse (für die Drucker- oder Band- Steuerung) über die Anforderungs-PAL-Einheit 107 ab, nachdem der Mikroprozessor 101 eine Anforderung auf der Leitung 22r an die Anforderungs-PAL-Einheit 107 gesendet hat.
- Somit verfügt die geteilte Logik (DLI-Signalspeicher 110) über Daten, welche die "anfordernde Steuerung" und die "nichtanfordernde Steuerung" identifizieren. Wenn die "anfordernde Steuerung" die Steuerung ist, welche der Zentralrechner anspricht, wird die ID-(Identifikation)-Information an den Zentralrechner (10) von den DLI-Signalspeichern (110) gesendet. Wenn die "nichtanfordernde Steuerung" die Steuerung ist, welche der Zentralrechner anspricht, werden die DLI-Signalspeicher (110) in die Lage versetzt, Befehlsinformationen von dem Zentralrechner 10 zu empfangen.
- Der Zentralrechner spricht (über 10a) den Status-Signalspeicher der anfordernden Steuerung, z.B. den Drucker-Signalspeicher 106, an, um Statusinformationen zu erhalten.
- Anhand der Daten, welche der Zentralrechner abgibt, und der Daten, welche die virtuelle Steuerung anfordert, entscheidet die Anforderungs-PAL-Einheit 107 die Situation und steuert die Richtung der Datenübertragung zu und von dem Zentralrechner.
- In Figur 3 wird die Leitung 22c durch den Mikroprozessor 101 verwendet, um Statussignale in die Status-Signalspeicher 105 und 106 zu schreiben.
- Der Mikroprozessor sendet entweder eine Drucker-Anforderung (oder eine Band-Anforderung) an die Anforderungs-PAL-Einheit 107 über Leitung 22r, um die "anfordernde Steuerung" anzuzeigen.
- Die Anforderungs-PAL-Einheit 107 empfängt die Adressen von dem Zentralrechner und behält die Daten darüber, welche Steuerung anfordert, um zu bestimmen, ob der Zentralrechner von der anfordernden Steuerung ID-Informationen empfangen will oder Befehle an die nicht anfordernde Steuerung über die geteilten DLI-Signalspeicher 110 senden will.
- Die Signalspeicher 105 und 106 haben Ausgangsleitungen zu dem Mikroprozessor 101, um anzuzeigen, ob sie das Statussignal von dem Mikroprozessor angenommen oder nicht angenommen haben, da, wenn der Zentralrechner 10 einen Status-Signalspeicher anspricht, dieser spezielle Signalspeicher ein neues Statussignal von dem Mikroprozessor zu diesem Zeitpunkt nicht annehmen kann.
- Die Leitung 22r von dem Mikroprozessor 101 zu der REQ-PAL-Einheit 107 wird verwendet, um anzuzeigen, welche virtuelle Steuerung die Unterstützung vom Zentralrechner anfordert.
- Im wesentlichen kann die Hauptaktivität beim Entscheiden, welche virtuelle Steuerung (Drucker oder Band) verwendet werden soll, wie folgt zusammengefaßt werden:
- 1. Der Zentralrechner 10 spricht eines der Status-Signalspeicherregister (105 oder 106, Figuren 3, 4) an.
- 2. Der Mikroprozessor 101 empfängt dann Informationen (von dem angesprochenen Status-Signalspeicher 105 oder 106), welche Steuerung (Drucker oder Band) angesprochen wurde.
- 3. Der Mikroprozessor 101 empfängt ebenfalls Daten von dem angesprochenen Status-Signalspeicher (105 oder 106) über den Zustand der gewählten Steuerung. Dieses Zustandssignal zum Mikroprozessor 101 erlaubt eine Entscheidung durch das Mikroprozessorsystem 101 herbeizuführen, in welcher Richtung eine Datenübertragung auftreten wird, welche Art von Daten übertragen wird und welcher neue Status in 105, 106 durch den Mikroprozessor 101 eingetragen wird. Der Mikroprozessor 101 steuert die REQ-PAL-Einheit 107 über Leitung 22r aus Figur 3.
- 4. Der Zentralrechner 10 gibt dann einen Befehl zur Datenübertragung an die gewählte Steuerung ab.
- 5. Dieser Befehl wird durch den Mikroprozessor 101 ausgeführt.
- 6. Die REQ-PAL-Einheit 107 erzeugt eine Anforderung von durch den Zentralrechner 10 auszuführende Unterstützung.
- 7. Der Mikroprozessor 101 trägt dann ID-Identifikationsdaten in die DLI-Signalspeicher 110 der geteilten Logik ein, um somit die "anfordernde" Steuerung zu identifizieren.
- 8. Der Mikroprozessor 101 befiehlt dann der REQ-PAL-Einheit 107, die zugehörige Richtung der Datenübertragung zwischen dem Zentralrechner 10 und der gewählten Steuerung zu aktivieren.
- 9. Der Mikroprozessor 101 sendet dann ein Signal, um den Zustand des zuvor angesprochenen Status-Signalspeichers (105 oder 106) zu ändern.
- 10. Der Mikroprozessor 101 veranlaßt dann die REQ-PAL-Einheit 107, eine Anforderung an den Zentralrechner 10 zur Unterstützung des gewählten DLP abzugeben.
- 11. Der Zentralrechner 10 spricht dann die gewählte Steuerung (DLP für Drucker oder Band) an.
- 12. Das System kehrt dann zu obigem Schritt (2) zurück, bei dem der Mikroprozessor 101 Daten von dem Status-Signalspeicher (105 oder 106) empfängt. Die Routine fährt dann fort mit den Schritten 3, 4, 5, etc.
- Es ist anzumerken, daß der Zentralrechner die Adressierung einer virtuellen Steuerung innerhalb der Beschränkungen des DLI-Protokolls beliebig verschachteln kann.
- Die Druckerschnittstelle besteht aus Datensende- und Datenempfangs- Signalspeichern (403 aus Figur 4), Paritätserzeugungs- und Prüfungs- Schaltungen (nicht dargestellt), einer Drucker-Zustandsmaschinensteuerung 401 zur Schnittstellensteuerung und peripheren Puffern (in 404) und Rückwärtsschleifenpuffern (in 404).
- Die Drucker-Sende/Empfangs-Signalspeicher 403 werden implementiert durch Speichern und Aktivieren von Signalen, welche durch die Druckerschnittstellen-Zustandsmaschinensteuerung 401 (Figur 4) gesteuert werden. Anforderungen von Daten werden ausgeführt durch das Mikroprozessorsystem 101 (Mikroprozessor 101m oder die darin enthaltene DMA- Steuerung 101d), zusammen mit dem PUDAPSEL (Drucker-Mikroprozessor- Datenselektionsleitung, Printer-Microprocessor Data Selection Line).
- Die Druckerparitätserzeugung und -prüfung wird durch einen 9 Bit-Paritätsgenerator durchgeführt. Die Selektion der Quelle der Eingangssignale und der Bestimmung der Ausgangssignale wird durch die Drucker- Zustandsmaschinensteuerung 401 verwirklicht. Der Druckerparitätsfehler wird in der Druckerprogrammatrixlogik in 401 (PRTPAL) gehalten und als eine Statusanzeige für den Mikroprozessor 101m verwendet.
- Die Druckerschnittstellen-Zustandsmaschinensteuerung 401 ist implementiert durch die Matrixlogik der PRTPAL. Sie führt funktionelle Umschaltungen aus, welche als Flußdiagramm in Figur 5 gezeigt sind. Bandschnittstelle
- Die Bandschnittstelle (30 aus Figur 2) besteht aus Sende/Empfangs-Signalspeichern, einer Lese- und Schreib-Paritätserzeugung, Befehlsregistern, Statuspuffern und einer Bandzustandsmaschinensteuerung 301 (Figur 4) zum Steuern der Schnittstelle, der peripheren Puffer und der Rückwärtsschleifenpuffer.
- Die Sende/Empfangs-Signalspeicher 302 sind implementiert durch vier bidirektionale Signalspeicher/Register, welche ein 16-Bit-Wort des Datensignalspeichers bereithalten. Die Bandzustandsmaschinensteuerung 301 steuert das Laden und Aktivieren der zwei 8-Bit-Hälften des Datensignalspeichers zum Multiplexen oder Demultiplexen der Daten.
- Die Lese- und Schreib-Paritätserzeugung für Bandübertragungen wird ausgeführt durch zwei 9 Bit Paritätsgeneratoren. Die Parität wird im "Schreib"-Datenpfad erzeugt und im "Lese"-Datenpfad geprüft. Wenn die Daten auf das Band geschrieben werden, gibt der Lesen-nach-Schreiben- Kopf die geschriebenen Daten zurück und das Laufwerk validiert diese mit einem Abtastsignal IRSTR (invertierte Leseabtastung).
- Die Paritätsfehleranzeige wird in der programmierten Bandmatrixlogik 304 (TAPPAL) erfaßt. Das Laufwerk erzeugt weiterhin ein schwerer-Fehler-Signal (IHER) und zusätzlich ein korrigiertes Fehlersignal (ICER), um anzuzeigen, daß das Laufwerk Paritätsfehler vom Band erfaßt hat. Diese Signale werden ebenfalls erfaßt und durch die programmierte Band-Matrixlogik, TAPPAL, gehalten.
- Befehlsregister sind mit zwei Registern in der Bandschnittstelle 30 implementiert. Befehlssignale, Adreßsignale und Abtastsignale (IGO) werden parallel in diese Register geschrieben.
- Die Statuspuffer geben Informationen über die augenblicklich angesprochene Bandlaufwerkseinheit an den Mikroprozessor 101m zurück. Die folgenden Signale IHER (schwerer Fehler), ICER (korrigierter Fehler), das IFMA (Dateimarkierung erfaßt), das IEOT (Bandende) und das TPARERR (Bandparitätsfehler) sind Impulse vom Bandlaufwerk, welche für den Zugriff durch den Mikroprozessor 101 durch das TAPPAL erfaßt und gehalten werden. Das TAPPAL 304 stellt ein Fehlerabtastsignal als Banddatenfalle zur Verfügung. Es erfaßt einen Fehler und hält das Fehlersignal bis zum Ende des Datenübertragungszyklus, bei dem es dann 101m informiert. Die anderen Statussignale werden direkt von dem angesprochenen Bandlauferk bereitgestellt.
- Die Bandschnittstellen-Zustandsmaschinensteuerung 301 ist implementiert in der programmierten Matrixlogik 304 (TAPPAL), welche so programmiert ist, daß sie Impulse erfaßt und verschiedene Zustände durchläuft. Sie steuert das Multiplexen und Demultiplexen der zwei 8 Bit- Hälften des Daten-Signalspeichers und des Anforderungs-/Bestätigungs- Handshake-Signales mit der DMA-Steuerung, 101d, Figur 4.
- Die Bandschnittstellen-Zustandsmaschinensteuerung 301 führt die Funktionen aus, die im Flußdiagramm in Figur 6 dargestellt sind.
- Die peripheren Bandpuffer befinden sich auf zwei peripheren Adapterkarten 305 und 306, gezeigt in Figur 3 und den Schnittstellen 30 und 40 aus Figur 2. Auf den peripheren Adapterkarten befinden sich rückwärtige Schleifenpuffer, um das Testen von Daten und Steuerpfaden zu den peripheren Adapterkarten, PAC 305, 306, zu erlauben.
- Das Signal M.TAPDAT wird verwendet, um die rückwärtigen Schleifenpfade 305 und 306 zu steuern. Wenn das Unterstützungsprogramm aktiviert ist, sind die Puffer zu und von den Peripherien deaktiviert und der Pfad (in 302) zwischen dem Lese- und den Schreib-Pfaden ist aktivert. Dies erlaubt das Testen der Steuer- und Datenpfade zwischen den Haupt-Logikkarten des Drucker-Band-DLP und den PAC's 305, 306, 404.
- Der DLI-Pufferspeicher 108 (aus den Figuren 2, 4) ist ein Doppelanschlußspeicher, der einen Zugriff von der DLI-Zustandsmaschine 201 und dem Hauptmikroprozessorsystem 101 erlaubt, welches den Mikroprozessor 101m und die DMA-Steuerung 101d beinhaltet.
- Der Adresspfad für die DLI-Zustandsmaschine 201 kommt von einem in zwei Programm-Matrixlogikeinheiten implementierten Zähler. Dieser Zähler wird ausgelöst durch den Mikroprozessor 101m. Der Adresspfad für das Mikroprozessorsystem führt durch zwei Puffer (Adresspuffer 102, Figur 4).
- Der "DLI-Datenpfad" und der "Mikroprozessor-Systemdatenpfad" sind durch Daten-Signalspeicher voneinander getrennt. Diese Datenpfade sind in Figur 2 als 22d und 22m gezeigt.
- Die Steuerung des Doppelanschlußspeichers (108 aus den Figuren 2, 3, 4) erfolgt durch die Doppelanschlußprogramm-Matrixlogik (gezeigt als Element 203 in den Figuren 3 und 4). Sie ist auf eine "Vorausschau" der Anfrageanforderungen der DLI-Zustandsmaschinensteuerung 201 und des Mikroprozessorsystems 101 programmiert. Sie stellt die Daten- und Adresspfad-"Aktivierung", die RAM-Bausteinauswahl, die RAM-Schreibaktivierung und das Mikroprozessorsystem-"Fertig"-Signal zur Verfügung. Sie verwendet außerdem das Signal AF (asynchrones Flag) und die BURST- Signale zum Ausführen einer taktweisen (Figur 7) Verschachtelung der DLI- 201 und der Mikroprozessor- 101m Speicheranforderungen während des Datenkettenmodus.
- Der Drucker-Band-Datenverbindungsprozessor (PT-DLP) ist so ausgebildet, daß er die "Selbsttest"-Funktion mit drei Auslöseverfahren und zwei Berichtsfunktionen des Datenverbindungsprozessors unterstützt.
- Der Datenverbindungsprozessor beginnt seine Selbsttestfunktion nach dem Empfang von einem der drei Löschsignale:
- (a) Vordergrundlöschen, welches durch einen lokal auf der Hauptlogikkarte befindlichen Druckschalter erzeugt wird;
- (b) Einschalt-Löschen;
- (c) zwei Arten von Selbsttest-Auslösesignalen vom Testbus im DLI- Hintergrund. Diese zwei Arten bestehen entweder aus angesprochen werden und löschen während des Lokalmodus oder durch allgemeines angesprochen werden durch die lokale allgemeine PT- DLP-Adresse und wenn das vollständige Selbsttest-Auslösesignal "wahr" ist. Die SWITCH-Leitungen werden verwendet, um zwischen dem Testen entweder (i) des Druckerteils, (ii) des Bandteils oder (iii) einem Gesamttest des Drucker-Band-Datenverbindungsprozessors zu wählen. Das Vordergrundlöschen und das Einschaltlöschen lösen beide einen kompletten Selbsttest des Drucker-Band-Datenverbindungsprozessors aus.
- Nachdem die Auslösung des Selbsttestes des Datenverbindungsprozessors getestet ist, deaktiviert dieser seine peripheren und DLI-Schnittstellen bis zu dem Zeitpunkt, an dem der Datenverbindungsprozessor seinen eigenen Selbsttest absolviert hat. Ein Status von "Null" zusammen mit dem Signal LCPCON/0 wird an den Hintergrund abgegeben, wenn der angesprochene Datenverbindungsprozessor arbeitet oder seinen Selbsttest fehlerhaft ausgeführt hat, oder in dem Fall eines erfaßbaren Online- Fehlers, wie einem PROM-Paritätsfehler oder einem Mikrocodefolge-Fehler.
- An der Vorderseite zeigen auch vier rotes Licht emittierende Dioden (LED's) den Status des Tests an. Wenn alle diese LED's "an" sind, ist der Datenverbindungsprozessor entweder im Ablauf des Selbsttests, oder hat den Selbsttest nicht bestanden oder hat einen online-Fehler erfaßt.
- Die "oberste" LED zeigt den Status des Selbsttest in bezug auf die Hauptlogigkarte an; die nächste zeigt den Status des Selbsttest bezogen auf die Druckerschnittstelle und ihre periphere Adapterkarte (PAC 404); das nächste LED-Licht zeigt den Status des Selbsttests bezogen auf die Bandschnittstelle und die periphere Bandadapterkartenplatine #1 (305); das vierte Licht zeigt den Status des Selbsttests bezogen auf die Bandschnittstelle und die periphere Adapterkartenplatine #2 (306) an.
- Bleibt ein LED-Licht nach einer bestimmten Ausführungszeit des Selbsttests an, zeigt es an, welche Karte den Test als erste nicht bestanden hat. Wenn das oberste LED-Licht nach der bestimmten Zeit für den Test "an" ist, zeigt es an, daß die periphere Adapterkarte (PAC) nicht getestet wurde, daß aber die Hauptlogikkarte den Selbsttest nicht bestanden hat.
- Der Umfang des Selbsttest ist ein Test der Hauptlogikplatinen-Hardware, welche das angesprochene Gerät und die Bestätigung der Datenpfade zu und von den peripheren Adapterkarten beeinflußt.
- Die Treiber und Empfänger der peripheren Einheiten (34, 44, Figur 1) und die DLI-Schnittstelle (Figur 3) sind nicht testbar durch die Selbsttestfunktion und erfordern einen eigenständigen oder einen peripheren Testtreibertest.
- Die Länge des Selbsttestes für den Druckerabschnitt des Datenverbindungsprozessors kann so eingestellt werden, daß sie eine vorbestimmte Anzahl von Sekunden nicht überschreitet. Die Länge des Selbsttestes für den Bandabschnitt des Datenverbindungsprozessors kann ebenfalls so eingestellt werden, daß sie einen anderen eingestellten Wert einer vorbestimmten Anzahl von Sekunden nicht überschreitet. Die Länge des Selbsttestes für den gesamten Datenverbindungsprozessor (einschließlich des Druckerabschnittes und des Bandabschnittes) soll ebenfalls eine andere, vorbestimmte Anzahl von Sekunden nicht überschreiten.
- In Figur 3 ist eine Doppelanschluß-RAM-Steuerung 203 zu sehen, welche durch das Mikroprozessorsystem 101 gesteuert wird, und die Datenverbindungs-Schnittstellensteuerung 201 in Verbindung mit der DLI-DMA (Direktspeicherzugriffseinheit 103, 104, ebenfalls in Figur 4).
- Die Doppelanschlußspeichersteuerung 203 wird zum Steuern des RAM-Puffers 108 aus Figur 3 verwendet.
- Es ist anzumerken, daß, obwohl Figur 3 hauptsächlich die "Steuer"-Leitungen zeigt, Figur 3 ebenfalls Datenbusse zeigt, über welche die Daten von dem Zentralrechner 10 durch die DLI-Signalspeicher 110 und durch den DLI-Datenbus 22d in den RAM-Speicher 108 übertragen werden können. Von hier können die Daten über den Bus 22m durch das Mikroprozessorsystem 101 verarbeitet und entweder über die Bandschnittstelle 30 oder über die Druckerschnittstelle 40 zur späteren Übertragung an die Peripherie übertragen werden.
- Ebenso können die Daten von der peripheren Druckereinheit 44 oder der peripheren Bandeinheit 34 durch die Schnittstellen 40 und/oder 30 zum Mikroprozessorsystem 101 und von dort durch das Puffer-RAM 108 und über den DLI-Datenbus 22d zu dem Zentralrechner 10 übertragen werden.
- Das Puffer-RAM 108 kann als "Doppelanschluß"-RAM zum Zweck des Zwischenspeichens der Daten betrachtet werden, welche entweder von einer peripheren Einheit zu dem Hauptsystem ("Lesen") laufen, oder für Daten, welche von dem Zentralsystem zu einer ausgewählten peripheren Einheit ("Schreiben") laufen. Somit geschieht der Datenfluß durch den RAM-Speicher 108 gleichzeitig und simultan in jeder Richtung. Dies wird durch einen "Verschachtelungs"-Prozeßzyklus verwirklicht.
- In Figur 7 ist eine Reihe von Zeitdiagrammen dargestellt, welche die zur Datenübertragung in der "Lese"-Richtung und zur Datenübertragung in der "Schreib"-Richtung verwendeten Taktsignale zeigen. Die "Lese"- Richtung bedeutet, daß Daten von einer peripheren Anschlußeinheit zu dem Pufferspeicher 108 zur späteren Übertragung zu dem Zentralsystem übertragen werden. Die "Schreib"-Richtung bedeutet, daß Daten von dem Zentralsystem in den Pufferspeicher 108 zur späteren Übertragung an eine ausgewählte periphere Anschlußeinheit übertragen werden.
- In Figur 7 ist erkennbar, daß am Ende der Taktzeit 1 der Doppelanschluß-RAM 108 die erforderlichen Zugriffsinformationen hat, um eine Verschachtelung von im Zeittakt 2 oder im Zeittakt 3 auftretenden Daten zu ermöglichen.
- In dem Lesezyklus in Figur 7 zeigt die erste Linie ein Taktsignal. Die als ALE bezeichnete zweite Linie ist das Signal, welches die Mikroprozessor-Adreßsignalspeicher-Aktivierung anzeigt.
- Die mit M/IO bezeichnete dritte Linie ist das Signal, welches anzeigt, ob der Mikroprozessor 101m Speicherplatz oder E/A-Platz selektiert.
- Die mit AD015 bezeichnete vierte Linie zeigt die Beziehung zwischen dem gültigen Adreßsignal und dem momentan gültigen Datensignal, welches durch einen Takt separiert wird. Sie zeigt die Verwendung des Busses für Adressinformation und den zur Datenübertragung verfügbaren Zeitabschnitt an.
- Die fünfte Linie zeigt das Signal . Dieses Signal zeigt, wann die gelesenen Daten in den oder aus dem RAM 108 übertragen werden können.
- Die sechste Linie, welche mit DT/ markiert ist, zeigt die Datenübertragungs/Empfangs-Bedingung an, welche die Richtung des Datenflusses anzeigt.
- Im siebten Teil in Figur 7 ist der "Schreib"-Zyklus zu sehen. Wie zuvor sind das Taktsignal, das ALE-Signal, das M/IO-Signal, das Adreßsignal und das DT/ -signal die gleichen mit Ausnahme von Linie 5, wo wir ein oder Schreibsignal anstelle des Lesesignales haben.
- In dem Schreibzyklus ist erkennbar, daß sofort nachdem die Adresse bereitgestellt ist, die Daten für die Schreibrichtung an die peripheren Adaptereinheiten ausgegeben werden können.
- Es ist ebenfalls anzumerken, daß in dem Lesezyklus eine 20 Nanosekunden-Einstellzeit für die Lesedaten und eine 10 Nanosekunden-Haltezeit für die Lesedaten vorhanden ist.
- Im Schreibzyklus ergeben sich 60 Nanosekunden Verzögerung nach den Adressdaten, um die Schreibdaten zu übertragen. Die Schreibdaten haben eine 10 Nanosekunden-Verzögerung, welche einen Abstand zwischen Daten von dem Pufferregister in den RAM 108 erlaubt.
- Der dritte (unterste) Teil von Figur 7 zeigt den DLI-Zugriffstakt mit einer Folge von Taktzyklen, numeriert als 1, 2, 3, 4, 5 etc. Hier hat während des ersten Taktzyklus die DLI-Zustandsmaschine 201 Zugriff auf den Pufferspeicher 108 (entweder zum Auslesen der Daten oder zum Einlesen der Daten).
- Der nächste Taktzyklus (Zyklus 2) stellt den zweiten Zeitabschnitt für den Mikroprozessor 101m zur Verfügung, um Zugrifff auf den Puffer 108 zu erhalten (entweder zum Eintragen von Daten oder zum Auslesen von Daten). Dann wechseln die Zugriffsperioden zwischen der Verfügbarkeit für die DLI-Steuerung 201 und den Hauptmikroprozessor 101m.
- Somit ist es möglich, "Lese"-Daten von einer peripheren Einheit zu dem Zentralsystem zu verschieben und konkurrierend zur gleichen Zeit "Schreib"-Daten von dem Zentralsystem zu einer peripheren Einheit durch den gleichen RAM-Puffer 108 zu verschieben, wenn auch verschiedene Register dieses RAM-Puffers verwendet werden.
- In Figur 8 ist vereinfacht dargestellt, wie Multiplexer 101m verwendet wird, um zwischen Kanal 1 und Kanal 2 für Steuerdatenoperationen umzuschalten. Eine bistabile Kippschaltung 101t steuert die Kanalumschaltung in dem Multiplexer 101m.
- Am Ende der Übertragung eines Datenblockes bewirkt das Blockende-Signal von der DMA-Steuerung 101d ein Ändern des Zustandes der bistabilen Kippstufe 101t. Diese schaltet die Band-DMA-Steuersignale (von 131 aus Figur 3) von Kanal 1 auf Kanal 2 und umgekehrt unter Verwendung des Multiplexers 101m um.
- Die Überlauf-Erfassungsschaltung 101r erfaßt eine "Fehler"-Bedingung, bei der "Umschalten auf den anderen Kanal" noch nicht durch den Mikroprozessor 101 ausgelöst wurde. In diesem Fall führt der nicht ausgelöste Zustand zu ungültigen Daten, die zu der peripheren Bandeinheit übertragen werden.
- Es wurde eine periphere Steuerung beschrieben, bei der ein Hauptmikroprozessor den Betrieb einer DLI (Daten-Verbindungs-Schnittstelle)-Nebensteuerung, einer Bandschnittstellen-Nebensteuerung und einer Drukkerschnittstellen-Nebensteuerung befiehlt und koordiniert, welcher es einem Pufferspeicher im vorderen DLI-Schnittstellenende erlaubt, zu übertragende Daten in einem Verschachtelungszyklusprozeß gleichzeitig in jeder Richtung (Hauptrechner zur Peripherie oder Peripherie zum Hauptrechner) aufzunehmen und auszugeben. Weiterhin steuert der Hauptmikroprozessor eine DMA-Schaltereinheit, welche eine Umschaltung von Steuerdatenkanälen zum Verwalten von Datenübertragungen zu/von den peripheren Bandeinheiten durch Bewirken einer Steuerkanalumschaltung nach jeder Datenblockübertragung zu/von einer Bandeinheit bewirkt. Insbesondere bei dieser Ausführungsform wird eine gemeinsame, geteilte Vorschalt-Schnittstellen-Logik durch zwei virtuelle Steuerungen gemäß Entscheidungsfaktoren verwendet, die durch eine anforderungsprogrammierbare Matrix-Logik bestimmt werden.
- Während andere mögliche Ausführungsformen ebenfalls verwendet werden können, um die hier beschriebenen Merkmale zu verwirklichen, soll die Erfindung so verstanden werden, daß sie das in den nachfolgenden Ansprüchen beschriebene System umfaßt:
Claims (7)
1. E/A-Steuerung mit zwei Funktionen (100), die einen Zentralrechner
(10) bedient, zum Verwalten von Datenübertragungen zwischen einem
Doppelanschlußpufferspeicher (108) und zwei unterschiedlichen Typen
peripherer Interfaces (30, 40), wobei die E/A-Steuerung (100) umfaßt:
(a) ein gemeinsames Datenverbindungsvorschaltinterface, welches einen
Datenpfad zwischen dem Zentralrechner (10) und dem Pufferspeicher
(108) unter der Steuerung durch ein
Datenverbindungsinterfacesteuermittel (201) und einen Datenpfad zwischen dem
Pufferspeicher (108) und zwei Typen peripherer Interfaces (30, 40)
unter Steuerung durch einen Mikroprozessor (101) bereitstellt und
Informationsabgabemittel (107, 110, 105, 106) für den
Zentralrechner (10) beinhaltet, um Befehlsdaten sequentiell
zu/von den beiden Arten peripherer Interfaces (30, 40) über den
Mikroprozessor (101) zu übertragen;
(b) den Mikroprozessor (101) zum Selektieren von
Datenübertragungsoperationen mit einem bestimmten peripheren Interface (30,
40) infolge eines Befehls des Zentralrechners (10);
(c) ein Druckerinterface (40) zum Senden/Empfangen von Daten zu/von
dem Pufferspeicher (108) unter Steuerung des Mikroprozessors
(101);
(d) ein Bandinterface (30) zum Senden/Empfangen von Daten zu/von dem
Pufferspeicher (108) unter Steuerung des Mikroprozessors (101);
dadurch gekennzeichnet, daß
das Datenverbindungsinterfacesteuermittel (201) und der Mikroprozessor
(101) alternativ auf den Doppelanschlußpufferspeicher (108) zugreifen,
um gleichzeitige Datenübertragungen zwischen dem Zentralrechner (10)
und dem Pufferspeicher (108) und Datenübertragungen zwischen dem
Pufferspeicher (108) und den peripheren Interfaces (30, 40), durch den
Mikroprozessor (101) selektiert zu ermöglichen, und
daß das Informationsabgabemittel (107, 110, 105, 106) vorgesehen ist
zum Abgeben von Informationen an den Zentralrechner (10) gemäß dem
Fertig- oder Nichtfertig-Status und dem Anforderungs- oder
Nichtanforderungszustand
der peripheren Interfaces (30, 40) und eine
anforderungsprogrammierbare Array-Logikeinheit (107) zum Vorgeben der
Priorität der Anforderung an den Zentralrechner (10) beinhaltet, wenn
beide periphere Interfaces (30, 40) gleichzeitig eine Bedienung
anfordern, und um ebenfalls die Richtung der Datenübertragung
vorzugeben.
2. Steuerung nach Anspruch 1, die weiterhin enthält:
eine Datenverbindungsinterfacespeichereinheit (110), welche
angeschlossen ist zum Empfang von Daten von einem
Datenverbindungsinterfacesteuermittel (201) und von einer anforderungs-programmierbaren
Array-Logikeinheit (107), mit bidirektionalen Verbindungen zu dem
Zentralrechner (10), wobei die Speichereinheit (110) Signaldaten
empfängt, um zu identifizieren, welcher virtuelle
Datenverbindungsprozessor eine Bedienung anfordert;
den Mikroprozessor (101), der Identifikationsdaten eines anfordernden
ersten oder zweiten Datenverbindungsprozessors zu der Speichereinheit
(110) sendet;
wobei die anforderungsprogrammierbare Array-Logikeinheit (107)
Adreßdaten von dem Zentralrechner (10) empfängt, welche eine bestimmte
periphere Einheit kennzeichnet und beinhaltet:
Mittel zum Bestimmen, ob der erste oder zweite
Datenverbindungsprozessor das gemeinsame Datenverbindungsvorschaltinterface
verwenden wird;
wobei das Datenverbindungsinterfacesteuermittel (201) an den
Mikroprozessor (101) und die Speichereinheit (110) angeschlossen ist und
beinhaltet:
Mittel zum Ausführen von Datenübertragungen zwischen der
Speichereinheit (110) und dem Zentralrechner (10) nach Befehlen von
dem Mikroprozessor (101).
3. Steuerung nach Anspruch 1 oder 2, die weiterhin umfaßt:
(a) ein erstes Statusspeicherregister (105), um ein Codesignal von
dem Mikroprozessor (101) zu halten, welches den Status eines
ersten virtuellen Datenverbindungsprozessors anzeigt;
(b) ein zweites Statusspeicherregister (106), um ein Codesignal von
dem Mikroprozessor (101) zu halten, das den Status eines zweiten
virtuellen Datenverbindungsprozessors anzeigt;
(c) Mittel in den ersten und zweiten Statusspeicherregistern (105,
106), um dem Mikroprozessor (101) zu signalisieren, daß ein
Statuscodesignal in die Speicherregister eingetragen oder nicht
eingetragen wurde;
(d) Mittel, um dem Zentralrechner (10) zu ermöglichen, das erste oder
zweite Speicherregister (105, 106) anzusprechen und Statusdaten
zurückzuerhalten.
4. Steuerung nach Anspruch 3, die weiterhin umfaßt:
(a) Mittel, um den Mikroprozessor (101) daran zu hindern,
Statuscodesignale in die Statusspeicherregister (105, 106) einzutragen,
wenn der Zentralrechner (10) ein Statusspeicherregister (105,
106) anspricht.
5. Steuerung nach Anspruch 1, die weiterhin umfaßt:
eine Datenverbindungsinterfaceslavesteuerung zum Steuern von
Datenübertragungen zwischen dem Zentralrechner (10) und dem
Datenverbindungsvorschaltinterface, wobei die DLI-Slavesteuerung entsprechend den
Befehlen des Mastermikroprozessors arbeitet;
wobei der Mikroprozessor enthält:
eine Speicherdirektzugriffssteuerung zum Ausführen von
Datenübertragungsoperationen als Reaktion auf eine Datenübertragungsanforderung
von dem ersten peripheren Interface (30) und/oder dem zweiten
peripheren Interface (40);
wobei das erste und das zweite periphere Interface (30, 40) Mittel zum
Erzeugen eines Anforderungssignales an den Mastermikroprozessor und
die DMA-Steuerung zum Auslösen einer Datenübertragungsoperation
beinhalten.
6. Steuerung nach Anspruch 5, die weiterhin umfaßt:
ein erstes und zweites Statusspeicherregister (105, 106) zum Halten
codierter Signale von dem Mikroprozessor (101), um den
Betriebsbedingungsstatus der ersten und zweiten virtuellen Steuerung anzuzeigen,
wobei jedes der Statusspeicherregister (105, 106) durch den
Zentralrechner (10) ansprechbar ist;
eine Datenverbindungsinterfacelogikspeichereinheit (110) zum Empfangen
von Adreßdaten von der Datenverbindungsinterfacenebensteuerung zum
Identifizieren einer virtuellen Steuerung, welche den Dienst des
Zentralrechners (10) anfordert;
eine anforderungsprogrammierte Array-Logikeinheit (107) zum Empfangen
von Adreßdaten von dem Zentralrechner (10), welche das erste oder
zweite periphere Interface (30, 40) identifizieren, und beinhaltet:
Mittel zum Steuern der Datenverbindungsinterfacelogikspeicher-einheit
(110) zum Selektieren der ersten oder zweiten virtuellen Steuerung zur
Verwendung der Datenverbindungsinterfacelogikspeichereinheit (110).
7. Steuerung nach Anspruch 6, bei welcher jedes der ersten und
zweiten Statusspeicherregister (105, 106) beinhaltet:
Mittel, um dem Mikroprozessor (101) anzuzeigen, wenn es ein neues
Statuswertsignal von dem Mikroprozessor (101) angenommen hat;
Mittel, um den Mikroprozessor (101) daran zu hindern, den Wert des
Statussignales während der Zeit zu verändern, in der entweder das
erste oder zweite Statusspeicherregister (105, 106) durch den
Zentralrechner (10) angesprochen wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/707,112 US4750113A (en) | 1985-02-28 | 1985-02-28 | Dual function I/O controller |
PCT/US1986/000333 WO1986005293A1 (en) | 1985-02-28 | 1986-02-18 | Dual function i/o controller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3650092D1 DE3650092D1 (de) | 1994-11-17 |
DE3650092T2 true DE3650092T2 (de) | 1995-05-24 |
Family
ID=24840391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3650092T Expired - Fee Related DE3650092T2 (de) | 1985-02-28 | 1986-02-18 | E/a-steuerung mit zwei funktionen. |
Country Status (8)
Country | Link |
---|---|
US (1) | US4750113A (de) |
EP (1) | EP0213183B1 (de) |
JP (1) | JPS62500475A (de) |
AT (1) | ATE112870T1 (de) |
BR (1) | BR8605616A (de) |
CA (1) | CA1246748A (de) |
DE (1) | DE3650092T2 (de) |
WO (1) | WO1986005293A1 (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4959782A (en) * | 1986-10-29 | 1990-09-25 | United Technologies Corporation | Access arbitration for an input-output controller |
JPH0697412B2 (ja) * | 1987-08-12 | 1994-11-30 | ファナック株式会社 | 高速入出力モジュール |
US4947366A (en) * | 1987-10-02 | 1990-08-07 | Advanced Micro Devices, Inc. | Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities |
ATE118630T1 (de) * | 1988-09-30 | 1995-03-15 | Siemens Nixdorf Inf Syst | Verfahren zur steuerung der datenübertragung einer zentraleinheiten- anschlusssteuerungsschaltung und schaltungsanordnung zur durchführung desverfahrens. |
US5038275A (en) * | 1988-10-07 | 1991-08-06 | Advanced Micro Devices, Inc. | Status transfer structure within a data processing system with status read indication |
US5081609A (en) * | 1989-01-10 | 1992-01-14 | Bull Hn Information Systems Inc. | Multiprocessor controller having time shared control store |
JPH0776951B2 (ja) * | 1990-10-30 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステム、複数の入出力アダプタによるアドレス空間共用システム、及び複数の入出力装置とコンピュータプロセッサ間の通信管理方 |
JPH087715B2 (ja) * | 1990-11-15 | 1996-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理装置及びアクセス制御方法 |
JPH04310157A (ja) * | 1991-04-09 | 1992-11-02 | Chubu Nippon Denki Software Kk | 分散処理システムのメッセージ中継方式 |
US5313584A (en) * | 1991-11-25 | 1994-05-17 | Unisys Corporation | Multiple I/O processor system |
JP3479538B2 (ja) * | 1991-12-26 | 2003-12-15 | テキサス インスツルメンツ インコーポレイテツド | 半導体集積回路を製作する方法 |
US5499384A (en) * | 1992-12-31 | 1996-03-12 | Seiko Epson Corporation | Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device |
US5444857A (en) * | 1993-05-12 | 1995-08-22 | Intel Corporation | Method and apparatus for cycle tracking variable delay lines |
US5546452A (en) * | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
US5737524A (en) * | 1995-05-22 | 1998-04-07 | International Business Machines Corporation | Add-in board with programmable configuration registers for use in PCI bus computers |
JPH08318981A (ja) * | 1995-05-24 | 1996-12-03 | Mamoru Kamo | 鶏卵容器 |
US5870080A (en) * | 1996-03-14 | 1999-02-09 | Gateway 2000, Inc. | Electro-magnetic transceiver combined with a pointing device |
US6029179A (en) * | 1997-12-18 | 2000-02-22 | International Business Machines Corporation | Automated read-only volume processing in a virtual tape server |
KR100257046B1 (ko) * | 1998-03-03 | 2000-05-15 | 윤종용 | 인터페이스 기능 전환을 위한 지능형 입/출력 제어기 |
US6199137B1 (en) * | 1999-01-05 | 2001-03-06 | Lucent Technolgies, Inc. | Method and device for controlling data flow through an IO controller |
US6996640B1 (en) * | 2001-08-07 | 2006-02-07 | Adaptec, Inc. | Method and system for asynchronously transferring data |
US20030078820A1 (en) * | 2001-10-19 | 2003-04-24 | Ouchi Norman Ken | Object based workflow route |
US7734506B2 (en) * | 2002-04-22 | 2010-06-08 | Norman Ken Ouchi | Catalog, catalog query, and item identifier for a physical item |
US7302548B1 (en) | 2002-06-18 | 2007-11-27 | Cisco Technology, Inc. | System and method for communicating in a multi-processor environment |
US7321985B2 (en) * | 2004-02-26 | 2008-01-22 | International Business Machines Corporation | Method for achieving higher availability of computer PCI adapters |
US8743888B2 (en) | 2010-07-06 | 2014-06-03 | Nicira, Inc. | Network control apparatus and method |
US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
US10103939B2 (en) | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3337854A (en) * | 1964-07-08 | 1967-08-22 | Control Data Corp | Multi-processor using the principle of time-sharing |
US3573852A (en) * | 1968-08-30 | 1971-04-06 | Texas Instruments Inc | Variable time slot assignment of virtual processors |
US4162520A (en) * | 1976-09-30 | 1979-07-24 | Burroughs Corporation | Intelligent input-output interface control unit for input-output subsystem |
US4268906A (en) * | 1978-12-22 | 1981-05-19 | International Business Machines Corporation | Data processor input/output controller |
US4371932A (en) * | 1979-07-30 | 1983-02-01 | International Business Machines Corp. | I/O Controller for transferring data between a host processor and multiple I/O units |
US4313162A (en) * | 1979-12-14 | 1982-01-26 | Burroughs Corporation | I/O Subsystem using data link processors |
US4371948A (en) * | 1980-05-07 | 1983-02-01 | Burroughs Corporation | Train printer-data link processor |
US4390964A (en) * | 1980-09-09 | 1983-06-28 | Burroughs Corporation | Input/output subsystem using card reader-peripheral controller |
US4430710A (en) * | 1981-08-24 | 1984-02-07 | Burroughs Corporation | Subsystem controller |
FR2513407B1 (fr) * | 1981-09-24 | 1987-01-16 | Finger Ulrich | Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun |
US4443850A (en) * | 1981-12-01 | 1984-04-17 | Burroughs Corporation | Interface circuit for subsystem controller |
US4490788A (en) * | 1982-09-29 | 1984-12-25 | Schlumberger Technology Corporation | Well-logging data processing system having segmented serial processor-to-peripheral data links |
US4616337A (en) * | 1983-03-30 | 1986-10-07 | Burroughs Corporation | Automatic read system for peripheral-controller |
US4602327A (en) * | 1983-07-28 | 1986-07-22 | Motorola, Inc. | Bus master capable of relinquishing bus on request and retrying bus cycle |
-
1985
- 1985-02-28 US US06/707,112 patent/US4750113A/en not_active Expired - Lifetime
-
1986
- 1986-02-18 AT AT86901646T patent/ATE112870T1/de not_active IP Right Cessation
- 1986-02-18 WO PCT/US1986/000333 patent/WO1986005293A1/en active IP Right Grant
- 1986-02-18 EP EP86901646A patent/EP0213183B1/de not_active Expired - Lifetime
- 1986-02-18 JP JP61501264A patent/JPS62500475A/ja active Granted
- 1986-02-18 BR BR8605616A patent/BR8605616A/pt not_active IP Right Cessation
- 1986-02-18 DE DE3650092T patent/DE3650092T2/de not_active Expired - Fee Related
- 1986-02-25 CA CA000502628A patent/CA1246748A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
ATE112870T1 (de) | 1994-10-15 |
JPH0519180B2 (de) | 1993-03-16 |
BR8605616A (pt) | 1987-04-22 |
EP0213183A1 (de) | 1987-03-11 |
WO1986005293A1 (en) | 1986-09-12 |
JPS62500475A (ja) | 1987-02-26 |
US4750113A (en) | 1988-06-07 |
CA1246748A (en) | 1988-12-13 |
EP0213183B1 (de) | 1994-10-12 |
DE3650092D1 (de) | 1994-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3650092T2 (de) | E/a-steuerung mit zwei funktionen. | |
DE3688810T2 (de) | Mehrfachport-integrierter Steuerer und Arbitrierer für DMA und Unterbrechungen. | |
DE3688763T2 (de) | Mehrfachport-Übertragungsadaptiervorrichtung. | |
DE3650036T2 (de) | Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung. | |
DE3688408T2 (de) | Drucker-magnetbanddatenverbindungsprozessor. | |
DE3751514T2 (de) | Adressieranordnung für RAM-Puffer-Steuereinrichtung. | |
DE69108434T2 (de) | Mehrgruppen-Signalprozessor. | |
DE2856483C2 (de) | ||
DE69132652T2 (de) | Rechnerdatenleitweglenkungssystem | |
DE69030861T2 (de) | Bus-Master-Steuerprotokoll | |
DE69316022T2 (de) | Steuerungsvorrichtung fuer speicherplattenanordnung mit steuerbloecken fuer steuerungsinformation | |
DE69117371T2 (de) | Hintergrund-Plattenoberflächenanalyse durch eine Steuerung für intelligente Speicherplattenanordnung ausgeführt | |
DE69429279T2 (de) | Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern | |
DE2448212C2 (de) | Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten | |
DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69610157T2 (de) | Ein Ein-/Ausgabeprozessor der gemeinsame Betriebsmittel einem Ein-/Ausgabebus in einem Rechner zur Verfügung stellt | |
DE68913914T2 (de) | Multiprozessorsystem mit Vervielfältigung von globalen Daten. | |
DE2854485C2 (de) | Datenverarbeitungsanlage | |
DE3886529T2 (de) | Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung. | |
DE60319125T2 (de) | Integrierte schaltung mit mehreren betriebsarten | |
DE69705813T2 (de) | Diagnosesystem und Verfahren bei einer integrierten Halbleiterschaltung | |
DE3586486T2 (de) | Interface-vorrichtung zwischen mindestens einem kanal und mindestens einem bus. | |
DE3704056A1 (de) | Peripherer dma-controller fuer datenerfassungssysteme | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |