DE2707800A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2707800A1
DE2707800A1 DE19772707800 DE2707800A DE2707800A1 DE 2707800 A1 DE2707800 A1 DE 2707800A1 DE 19772707800 DE19772707800 DE 19772707800 DE 2707800 A DE2707800 A DE 2707800A DE 2707800 A1 DE2707800 A1 DE 2707800A1
Authority
DE
Germany
Prior art keywords
signals
data
input
output
clock
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.)
Granted
Application number
DE19772707800
Other languages
English (en)
Other versions
DE2707800B2 (de
DE2707800C3 (de
Inventor
Philip Michael Kreiker
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.)
EMC Corp
Original Assignee
Data General 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
Application filed by Data General Corp filed Critical Data General Corp
Publication of DE2707800A1 publication Critical patent/DE2707800A1/de
Publication of DE2707800B2 publication Critical patent/DE2707800B2/de
Application granted granted Critical
Publication of DE2707800C3 publication Critical patent/DE2707800C3/de
Expired 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Description

Anmelder; Stuttgart, don 16. Februar 1977
Data General CorJt. P 3322 It/kg
Southboro, Massachusetts 01772
V.St.A.
Vertreter;
Kohler - Schwindling - Späth
Patentanwälte
Hohentwielstraße 41
7000 Stuttgart 1
Datenverarbei tunga anla ge
Die Erfindung betrifft eine Datenverarbeitungsanlage mit einer Zentraleinheit, Peripheriegerätesteuereinrichtungen und Sende-ümpfangaeinrichtungen zum Senden und Empfangen von Signalen zwischen der Zentraleinheit und den Steuere inrichtungen.
709836/0707
Die vorliegende Erfindung befußt sich mit einem verbesserten Datenverarbeitungsystea, das digitale Techniken verwendet und mehr im einzelnen mit einem verbesserten Eingabe/Ausgabe-System, das darin enthalten int.
Beim Stand der Technik bestanden verschiedene Probleme in bezug auf die parallele übertragung von digitaler Information (wobei alle Datenbits gleichzeitig übertragen werden) zwischen der Zentraleinheit des Datenverarbeitungsgeräts und verschiedenen Peripheriegerätenr Diese Probleme bezogen sich auf die relativ große Anzahl von Drähten, die in der VerbindungssHnraelleitung für das parallele Übertragungsschema erforderlich waren. Diese zahlreichen parallelen Wege wiederum erforderten eine gleiche Anzahl von Treibern und Empfängern für jedes Peripheriegerät (Fernschreibmaachine , Kathodemitrahlrohr-Anzeige, usw.) das damit verbunden ist. Die Komplexität dieses Eingabe/Ausgabe-Systema reduzierte die Zuverlässigkeit und erhöhte die Kosten deu gesamten Datenvorarbeitungssyatoms.
Eine parallele Übertragung und die sich daraus ergebende große Anzahl von Verbindungsdrähten wurde beim Stand der Technik verwendet, weil die Zentraleinheit benötigt wurde, viele Punktionen durchzuführen, beispielsweise die Befehledecodierung. Die Decodierung hut parallele Datenwege zur Folge. Um diese große Anzahl von Drähten mit den danit zusammenhängenden Problemen zu reduzieren, übertrug eine bekannte Lösung viele durch die Zentraleinheit ausgeführte
709836/0707
funktionen der Entscheidung von Peripheriegerätekontrollein.r"ichtungen· Entsprechend wurde eine Parallel/Serien-Datenumwandlung in der Zentraleinheit gemacht, eine serielle Datenübertragung vorwendet, und eine Serien/ Parallel-Umwandlung der Daten wurde in den Steuereinrichtungen durchgeführt. Da eine serielle Datenübertragung (eine nach dem anderen) gewöhnlich langsamer iiit als eine parallele Übertragung (wobei alle Datenbits auf einmal übertragen werden), wird eine höhere Taktfrequenz bei der seriellen Datenübertragung verwendet um eine vernünftige oder vergleichbare Systemgeschwindigkeit zu erreichen»
Jedoch verursachte diese Lösung mit der Serien-Parallel-Umwandlung zuzüglich der hohen Taktrate andere Probleme, die auf Beschränkungen beruhten, die in der Bipolar-, MOS- und anderer benutzter Technologie beruhten· Beispielsweise kann ein gut geformter Impuls (Takt, Daten, oder Befehl) am Ende einer übertragungsleitung oder eines SammelleitungHkabels ein verzerrtes Signal werden, in Abhängigkeit von der Länge der Leitung, der Qualität der Leitung, der Brequenz der übertragung, externen Hauschens oder externer Störungen und anderer Paktoren. Die Verwendung einer höheren Übertragungsfrequenz für die serielle Datenübertragung zum Erhalten einer guten Systemgeschwindigkeit erleichtert die Verzerrung der übertragenen Impulne, Die Abtastung dieser Art von verzerrten Signalen um einen verarbeiteten Impuls wiederzugewinnen i3t ein weiteres Problem des Stands der Technik, auch wenn die bekannte
709836/0707
MOS-Technoloßie verwendet wird. Weitei'hin ist eine Sorge des Stands der Technik das Abschrägen (oder Phasenschieben) von Daten, das durch der bipolaren Technik innewohnende Beschränkungen verursacht wird, wenn ein serieller Datenstrom verarbeitet wird.
Wie erwähnt wurde beim Stand der Technik eine Delegation von mehr Steuerfunktionen von der· Zentraleinheit zu anderen Subsystemen gemacht. Ka wurden Peripheriegeräteateuereinrichtunge-(I0C)-Subsy8teme entwickelt, die ihren eigenen Steuerspeicher zum Aunführen ihrer benötigten Steuerfunktionen haben. In ähnlicher V/eise werden nun periphere Verarbeitungageräte entworfen mit ihren eigenen Steuerspeichereinheiten. Während jeder Steuerapparat Mittel aufweist zum Steuern der Betätigung seines eigenen Verarbeitungsgeräts, kann es auch möglich sein, Mittel zum Steuern von llanipulationen vorzusehen, die innerhalb von anderen Verarbeitungageräten auftreten. Jedoch bietet diese Kombination von zahlreichen Stouerapparaten und Verarbeitungageräten Probleme mit der S;mchroniaierung der Operationen und mit der Impulslaufzeit oder Inpulaausbreitungaverzögerung; daher kann es sein, daß die Anzahl und die Lage der Peripheriegeräte entlang der Sammelleitung beim Stand der Technik wegen der oben erwähnten Gründe begrenzt werden muß. Boiapielsweiae befassen aich die US-Patente 3 931 615, 3 932 841 und 3 934 232 mit dieser Diskusaion der Eingabe/Auugabe-Ubertragung digitaler Impulse.
709836/0707
Die vorliegende Erfindung liefert eine Lösung für bestimmte Probleme dea Stands der Technik, und dieae Lösung wird verwendet innerhalb eines verbesnerten Schemas für die Parallel/Serien-Unwandlung von digitaler Information und ihrer Übertragung, wie im einaeinen hier beschrieben wird.
Die vorliegende Erfindung bezieht sich auf ein Datenverarbeitungssystem oder eine Datenverarbeitungsanlage, die eine Zentraleinheit aufweist, einen Hauptspeicher, der mit der Zentraleinheit in Verbindung steht, Eingabe/ Ausgabe-Einrichtungen, die Sende-laapfänger aufweisen zum Herstellen einer Verbindung zwischen der Zentraleinheit und Peripheriegeräten, und eine Taktquelle. Innerhalb der Eingabe/Ausgabe-Üinrichtungen iat eine Gerätesteuereinrichtung vorgesehen, wobei eine Steuereinrichtung für jedes Peripheriegerät vorhanden ist, und die (roräte-Steuereinrichtung weist auf:
Schieberegisteranordnungen zum oea'iellen Empfangen einor üingabegruppe von Signalen von der Zentraleinheit über den zugeordneten Sende-Empfanger, und zum seriellen Senden einer Ausgabegruppe von Signalen zu dem Sendeempfanger und evtl. zu der Zentraleinheit; eine erste öammelleitungaanordnung, uti Daratollungen von bestimmten der Eingabeaignale von dor Schieberegisteranordnung zu mindestena ihrem zugeordneten Peripheriegerät parallel zu leitfln und weitere Sammelleitungsanordnungen, um Darstellungen bestimmter dea:· Ausgangssignale von dem Peripheriegerät zu mindestens der Schieberegisteranordnung parallel zu leiten;
709^36/0707
ORIGINAL INSPECTED
weitere Iiegisteranordnungen, die zwischen die erste und die weiteren Snmmelleitungsanordnungen geschaltet sind, zum parallelen Empfangen von Darstellungen der Üingangasignale von der ersten üariraelleitung, um diese Darstellungen zeitweise zu speichern, um diese Darstellungen in Abhängigkeit von der Tätigkeit von anderen Teilen der Geräteateuereinrichtung zu ändern, und um die Darstellungen von Ausgang«Signalen parallel zu der zweiten üammelleitung zu senden; Befehlsregisteranordnungen sum üpeichern eines Befehls, der von der üingangsgruppe der· Signale abgeleitet int; eine programmierbare Logikanordnung odor ein Logikfeld, in dem Operationslogikzuatände für die Gerätesteuereinrichtung zum steuern ihrer Operation derart, daß sie innerhalb eines der Zustände ist, gespeichert ist; eine ütatus- oder Zuatnnda-Änderungalogik, did auf die Tätigkeit der programmierbaren Logikanordnung anspricht und auf die Tätigkeit dea Befehlsregisters zuu i«.usv;ählen des nächstfolgenden Logikzustandes; und eine Umgehungsanordnung zum Leiten beatitmter Befehlssignale oder Anforderungssignale direkt von d«ir Gerätesteuereinrichtung zu der Zentraleinheit in einen leitendem Pfad, der nicht den zugeordneten üeixdeompfanger einschließt,
Ks ist vorteilhaft, die vorliegende Erfindung innerhalb eines Datenverarbeitungssystems zu verwirklichen, und speziell innerhalb eines Systems, das dazu bentim.it int, verschiedene Funktion an Peripheriegerätoateuereinrichtungen zu delegieren, die andernfalls in der Zentraleinheit durchgeführt worden wurden, ^s ist weiterhin
709836/0707
vorteilhaft, die vorliegende Erfindung in einem Datenverarbeitungssystem zu verwenden, dan eine Vielzahl von Peripheriegeräten verwendet, die in unterschiedlichen Abständen entlang einer relativ langen Hingabe/ Ausgabe-Summelleitung angeordnet sind.
Die Erfindung schafft ein verbessertos Üatenverarbeitungssysteia.
weiterer Vorteil der vorliegenden Erfindung besteht darin, daß verbesserte Peripheriegerätkontrolleinrichtungen zum Schaffen einer Verbindung zwischen externen Peripheriegeräten und dem liest des Systems geschaffen worden.
Dan beschriebene Eingabe-Ausgabe-System wird innerhalb eines Datenverarbeitungssystems verwendet, das eine Zentraleinheit aufweist. Die Zentraleinheit weist eine verbesserte Eingabe/Ausgabe-Schiebereginter-Anordnung oder Verbindungsmittel zum Verbinden uit Eingabe/Ausgabe-Einrichtungen (Sammelleitungiianordnung) auf. Die Eingabe/ Aui'.gabo-Einrichtungen weisen einen verbesserten Zentraleinheit-Sendeempfänger und verbesserte Periphoriegeräte-Sendeempfänger-Apparate auf. Der Geräteaendeeiapf anger ist verbunden mit einer verbesserten Gerätesteuereinrichtung. Bei einem bevorzugten Ausführungsbeinpiel der vorliegenden Erfindung sind die Zentraleinheit, der Zentraleinheit-Sendeempfänger, die Gerätesendeeinpfanger und die Gerätesteuereinrichtungen, die alle in erster Linie in MOS-Technik konstruiert sind, jeweils innerhalb
709836/0707
eines entaprechenden öchaltunß.'jplättohona (Chip) enthalten« V/eitere llerkmale des üingabe/AuHgabe-iWütema üind dio tlöglichkoit, zahlreiche üendeempfänger-üteueroini'ichtunfsen und ihre zugeoi'dneten Peripheriegerät« in unterochiedlichen Abständen von der Zentraleinheit zu placieren dank der neuen Takteinrichtungen und Dtitenübertra^^ungaeinrichtunßen, die eine genaue Datenverarbeitung gewährleisten ohne Kücknicht auf AuiJbreituii^.sverzüRttrunG, Verzerrungen, Datenimpulaabfiohrägung uhw., die auf unterschiedlichen Übertragungiiabatänden und d«r HOü-Technologie, bipolaren und anderen Technologien berulicm.
709836/0707
-β -
Viieitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungebeispiela der Erfindung anhand der Zeichnung, die erfindungswesentliche Einzelheiten zeigt, und aus den Ansprüchen. Die einzelnen Merkmale können je einzeln für sich oder zu mehreren in beliebiger Kombination bei einer Ausführungsform der Erfindung verwirklicht sein.
Fig. 1 ist ein Diagramm der vorliegenden Erfindung, wie sie innerhalb eines Datenverarbeitungssystems verwendet wird}
Fig. 2 ist ein detailliertes Diagramm eines Teils der elektronischen Anordnung innerhalb jedes lÜSK von Fig. 1$
Fig. 3a und 3b sind detaillierte Diagramme des übrigen
Teils der elektronischen Anordnung innerhalb jedes IOSR, und Wellenformen, die sich auf die Tätigkeit jedes IOSR beziehen;
Fig. 4- ist ein schematisches elektrisches Diagramm der
Schaltungsanordnung innerhalb jedes Sende-Empfängers von Fig. 1;
Fig. 5 ist ein detailliertes Diagramm der elektronischen Anordnung innerhalb jeder Geräte-üteuereinrichtung von Fig. 1|
709836/0707
Fig. 6a und 6b zusammengenommen sind ein Flußdiagramm
des Eingabe/Ausgabe-Zyklus oder der Folge von Ereignissen des Systems von Fig. 1;
Fig. 7 ist eine Darstellung von zwei 8-Bit-Bytes eines Datenworts mit 16 Bit, wobei ein Befehlsbit oder Voraatzbit jedem Byte vorausgeht, und der zugeordnete Taktburst; und
Fig. 8 ist eine schematische Daratellim^ der Tätigkeit jeder einzelnen Schieberegisteranordnung von Fig.
Bevor auf die Figuren Bezug genommen wird, und als Einführung in die Beziehung der vorliegenden Erfindung zu dem Datenverarbeitungssystem, in dem sie arbeitet, sollte beachtet werden, daß die vorliegende Erfindung sich auf die Kommunikation oder Nachrichtenübermittlung zwischen der Zentraleinheit und peripheren Geräten, wie Fernschreibereingängen, Endgeräten mit Kathodenstrahlanzeige, Schnelldruckern usw. bezieht.
In einem speziellen Datenverarbeitungssystem, in dem die vorliegende Erfindung verwendet wird, ist der Satz der Schaltungsplättchen in Silicium-Gate-NMOö-Technologie aufgebaut. Die Zentraleinheit kennzeichnet ein 16-Bit-Mehrfunktions-Befehlssatz, einschließlich Maschinonmultiplikation-Divisionj Mehrfachadreasierungamoden einschließlich absolut, relativ indexiert, verschoben, und automatisches Inkrement/Dekrement\ Mehrfachakkumulatoren, einschließlich zwei, die als Indexregister verwendet werden können; Maschinen kellerspeicher und Stapelzeiger mit Kellerspeicherüberlauf-
709836/0707
schutz; programmierte Prioritätsunterbrechung auf 16 Niveaus} und getrennte Speicher- und Eingangs/Ausganga-Sanmelleitungen. Eine Echtzeituhr und eine Auffrischsteuerung für den Speicher mit wahlfreiem Zugriff (erforderlich wegen der MOS-Technologie) sind ein integrierender Bestandteil der Zentraleinheit. Die Zentraleinheit weist auch eine Eingabe/Ausgabe- oder Verbindungs- oder Schnittstelleneinrichtung auf mit einem einzigen Codier/Decodierechema, das in Verbindung mit den Sende-Empfängern und IOC-Plättchen das funktionale Äquivalent einer Sammelleitung mit 4-7 Leitungen liefert.
Das IOC (Eingabe/Ausgabe-Steuereinrichtung) decodiert einen codierten Datenstrom mit 16,6 Megabit/Sekunde von der Zentraleinheit und stellt eine 16-Bit-öchnittstelleneinrichtung für zwei Richtungen, vier codierte Funktionsbits, und eine Funktionsabtastung (function strobe) zum leichten Anschließen bereit. Das IOC schließt weiterhin komplexe Funktionen ein, die in anderen Kleinrechnersystemen nicht verwendet werden. Das IOC weist eine integrale Geräteidentifikation auf, eine Besetzt/ Fertig-Unterbrechungslogik, und die Fähigkeit zum Unterbrechungsmaskieren für jedes Gerat. Für blockorientierte Steuereinrichtungen weist es Datenkanal-(DMA)-Sammelleitungs-Übertragung mit Rückantwort (hand shaking) und volle 15-Bit-Adressen- und Blocklängenregister auf.
K ine Logik für den Ausgangszustand beim Einschalten der Stromversorgung, eine Schaltungsanordnung zum normalen Abschalten der Stromversorgung und eine vom Benutzer auswählbare Signalpolarität der Datensammelleitunß sind ebenfalls vorgesehenο
709836/0707
is
Der fcJende-Empfänger der Zentraleinheit und der GeruteiS ende -Empfänger puffern die Eingabe/Auüßabe-iJammelleitung. Sie stellen üifferentialschultungen für Treiber und Empfänger bereit für eine Unempfindlichkeit gegen Kauschen und bis zu einer Länge von 100 Fuß. üie takten auch die Sammelleitungssignule beim Wendebetrieb und bringen sie beim Empfangabetrieb wieder in Übereinstimmung mit dem Takt, wobei sie ein Erkennungsschema mit einer hohen Unempfindlichkeit gegen Hauschen verwenden.
Zunächst wird eine Beschreibung der gegenseitigen Verbindung der vorliegenden Erfindung und des Üatenverarbeitungssystems gegeben. Die Tätigkeit der vorliegenden Erfindung und des Systems, in dem sie verwendet wird, wird später erläutert.
In Fig. 1 ist ein funktionales Blockdiagramm des Systems gezeigt, in dem die vorliegende Erfindung enthalten ist. Eine Zentraleinheit 100 (CFU) schließt einen llikrocode (yU,Code) ein, ein Eingabe/Ausgabe-üchieberegieter (IOSK) oder eine Schnitteteileneinrichtung oder Verbindungseinrichtung 101, und eine andere Zentraleinheit-Anordnung (nicht dargestellt). Die Zentraleinheit 100 ist mit einem Zentraleinheit-Sende-Empfänger (CPU-üende-Empfanger) über eine erste Gruppe von Leitern verbunden. Der CFU-Sende-Empfänger 103 empfängt ein Eingangssignal von einem 10-4fHs-Quarztaktoszillator 104, wie gezeigt, und liefert eine Darstellung dieses Taktsignals zu einem Takttreiber 119» der wiederum Taktsignale zur
709836/0707
Zentraleinheit 100 und Ableitungen dieser Taktaignale zum IOSK 101 liefert.
Der CFU-Sende-Empfänger 103 ist durch eine Eingabe-Ausgäbe. Sammelleitung (I/O-Bus) 105 mit einem Geräte-Sende-Empfänger 106 und einem Geräte-Sende-Empfänger 111 verbunden. Die Darstellung der Eingabe-Auagabe-Sammelleitung 105 mit gestrichelten Linien in Kombination mit den dargestellten Punkten zwischen den Sende-Empfängera usw. sollen dazu dienen, anzuzeigen, daß die Sammelleitung ausreichend lang sein kann, um mehr Sende-Empfänger zu versorgen, als diejenigen, die in Fig. 1 gezeigt sind. Es ist nicht beabsichtigt, daß sich die vorliegende Erfindung auf lediglich zwei Geräte-Sende-Empfänger und Steuereinrichtungen bezieht. Andere Sammelleitungskomponenten (Umgehungssammelleitung) sind bezeichnet mit 122, 123 und 126{ diese Komponenten sollen dazu dienen, den Sende-Empfänger 106, 111 bzw. 103 zu umgehen.
Der Geräte-Sende-Empfänger 106 ist mit einer Geräte-Steuereinrichtung 108 durch eine zweite Gruppe von Leitern 107 verbunden, welche Leitungen mit einem IOSR 120 (Schnittstelleneinrichtung 120) verbunden sind, die innerhalb der Gerätesteuereinrichtung 108 enthalten ist. Weiterhin besteht eine Taktimpulsverbindung zwischen dem Geräte-Sende-Empfänger 106 und der Geräte-Steuereinrichtung 108 über einen Takttreiber 124. Wie erwähnt, verbindet die Umgehungssammelleitung 122 die Geräte-Steuereinrichtung 108 direkt mit der Eingabe-Ausgabe-Sammelleitung 105.
709836/0707
In Hinsicht auf den Geräte-Sende-Kmpfänger 111 (und dieses allgemeine Vörbindungsschema findet Anwendung auf jeden anderen Sende-Empfanger, der mit der Sammelleitung 105 verbunden werden kann, wie die Punkte in Fig. 1 zeigen) iet er mit einer Geräte-Steuereinrichtung 113 durch eine weitere zweite Gruppe von Leitern 112 verbunden. Die Leiter sind verbunden mit einem IOSR (Schnittstelleneinrichtung 121), die innerhalb der Geräte-Steuereinrichtung 113 angeordnet ist. Weiterhin besteht eine Taktverbindung durch den Takttreiber 125 zwischen dem Geräte-Sende-Empfanger 111 und der Geräte-Steuereinrichtung 113·
Die Geräte-Steuereinrichtung 108 iet mit ihrem zugeordneten Peripheriegerät 110 durch eine Peripheriegerätsaiamelleitung 109 verbunden. Die Geräte-Steuereinrichtung ist mit ihrem zugeordneten Peripheriegerät 115 durch eine Peripheriegerätsammelleitung 114 verbunden.
Schließlich ist der Hauptspeicher 116 mit der CPU über eine Speicher-Sammelleitung 117 verbunden, wie dargestellt.
Als nächstes ist mit Bezug auf Fig. 2 und 3a die Schaltung gezeigt, die innerhalb der IOSR 101, 120 oder 121 enthalten ist, die alle in Fi^. 1 dargestellt sind. (Die Schaltungsanordnung in Fig. 1 ist mit Bezugszeichen beginnend bei 100, in Fig. 2 bei 200 usw. dargestellt.) Ua sind vier Ein-Ausgabe-Puffer (pad) gezeigt: 1/0-Puffer 206, I/0-Puffer 215, I/O-Takt-Puffer 305 und I/O-Eingangspuffer 30?.
709836/07Q7
Diese vier Puffer entsprechen jeweils den vier Leitern jeder Gruppe von Leitern 102, 107 oder 112. Der nur in einer Richtung wirksame dargestellte Leiter ist dem Puffer 307 zugeordnet. Wie weiter unten beschrieben wird, werden die Daten durch die Puffer 206 und 215 seriell empfangen und zu diesen übertragen, der Takt oder der Taktburst wird von dem Taktpuffer 305 erzeugt und empfangen, und der Puffer 307 liefert ein Steuersignal an den ihm zugeordneten Sende-Empfanger, wenn eine zugeordnete Schnittstelleneinrichtung gerade sendet.
Fig. 2 zeigt eine erste Schieberegisteranordnung im oberen Teil und eine zweite Schieberegisteranordnung im unteren Teil der Zeichnung. Der I/0-Puffer 206 ist zwischen den Eingang zu einer Pegelschiebeeinrichtung 200 (eine Verbindungaeinrichtung zwischen TTL oder bipolar mit MOS) und den Ausgang eines Multiplexers und Treibers 203 eingeschaltet, außerdem ist er mit einem Sende-Empfänger wie oben erwähnt verbunden. Die Pegelschiebeeinrichtung 200 empfängt ein anderes Signal B2 von einem Taktgenerator 301, was unten besprochen wird.
Es gibt zwei Ausgänge der Pegelschiebeeinrichtung 200. Einer der Auegänge geht zu einem (4-Bit/linkes Byte, ungerades Bit)-Schieberegister 201 und der andere geht zu einem (4-Bit/linkea Byte/gerades Bit)-Schieberegister 202. Die Schieberegister 201 und 202 empfangen auch üchiebebefehlssignale A-. und A2, auch vom Taktgenerator 301·
709836/0707
Parallele Verbindungen a^, Hu, a,- und ä„ sind dazu bestimmt, Verbindungen für ungerade Bits anzuzeigen zwischen dem Schieberegister 201 und der '^"-Sammelleitung, die innerhalb der sie enthaltenden Komponente sich befindet (z.B. die Komponente CFU 1OOt wobei die "a"-Sammelleitung in ihr aus Gründen der Klarheit der Darstellung nicht gezeigt ist)· In gleicher Weise sollen Üq, äot A4. und *g parallele Datenverbindungen für gerade Bits zwischen dem Schieberegister 202 und der "a"-Sammelleitung bezeichnen. In ähnlicher Weise sind b^, b,, bc» b„ und bQ, b2» b^, bg parallele Verbindungen zwischen dem Schieberegister 201 und der "b"-Sammelleitung bzw. dem Schieberegister 202 und der "b"-Sammelleitung.
£s gibt drei weitere Befehlssignaleingänge für die Schieberegister 201 und 202 und es sind dies 1+IOSR, b*I0SR, IOSR»ä. Diese bezeichnen das Setzen von sämtlichen EINSEN im Schieberegister bzw. die Übertragung der Inhalte der b-Sammelleitung zum Schieberegister bzw. die übertragung der Inhalte der Schieberegister zur ä-Sammelleitung. (Dies ist ein paralleler Transport von Daten in das Schieberegister und aus dem Schieberegister von einer anderen Schaltung in der Zentraleinheit.)
Der Ausgang des Schieberegisters 201 ist verbunden mit der Fegelschiebeeinrichtung 203, die auch A2 und B4. vom Taktgenerator 301 empfängt. Der Ausgang des Schieberegisters 202 ist zur Fegelschiebeeinrichtung 20t- verbunden,
709836/0707
2707300
die auch Eingangaaignale A,. und B~ vom Taktgenerator 301 empfängt. Die Pegelachiebeeinrichtung 203 empfängt auch ein PIiESET-Signal von einem Befehlsdecodierer 208. Der Befehlsdecodierer 208 wiederum empfängt Signale Ä.2, oC4-, weiterhin abgeleitete Taktimpulse von der Zentraleinheit 10Oj und Befehlssignale E.., ^1?» ^t* vom ^ikroc°de 118 der Zentraleinheit 100.
Der Ausgang der Pegelachiebeeinrichtung 203 iat zum Eingang dea Multiplexers und Treibers 205 verbunden; der Ausgang der Pegelschiebeeinrichtung 204 ist zum Eingang des Multiplexers und Treibers 205 verbunden. Der Ausgang des Multiplexers und Treibers 205 ist mit dem I/0-Datenpuffer
206 verbunden, wie früher erwähnt. Schließlich wird ein anderer Ausgang der Pegelschiebeeinrichtung 203, (iipCUTÜFF, auf der Leitung 207 als ein Signal bereitgestellt, das zu einer Schaltung 306 (in Fig. 3) geleitet wird, die unten besprochen wird.
Eine detaillierte Beschreibung der Verbindungen der zweiten Schieberegistereinrichtung, die in der unteren Hälfte der Fig. 2 enthalten ist, ist nicht nötig, weil die Schaltung fast genau identisch der ersten Schieberegisterschaltung im oberen Teil der Darstellung ist. Ea sollte beachtet werden, daß das 02CUTOFF-Signal jedoch nicht vorhanden ist, und daß ein unterschiedliches 8-Bit-Byte (rechtes Byte) verarbeitet wird.
709836/0707
27078Q0
- -je -
Wie oben erwähnt, ist die Fig. 3η auch innorhalb dem IOSlt 101 oder 1i>0 oder 121 enthalten. Der Befehlsdecodierer 300 ist in funktionsmäliiger Verbindung mit dem Taktgenerator 301, und beide Blöcke werden zusammen diskutiert. Der Bofehlsdecodierer 300 erhält abgeleitete Takt signale *c 1, pe 2, Ct 3 und OCb von anderen Teilen der ihn aufnehmenden Komponente oder dea Blocks, so beispielsweise von anderen Teilen des CPU 100, oder der (ieräte-Steuereinrichtung 108, oder 113, Je nachdem wie der Fall liegt. Ü)ies wird später in Verbindung mit Fig. 4 weiter diskutiert werden, weil in Fig. 4 eine Schaltungsanordnung gezeigt ist und in Fig. 1 als 'i'akttreiber 119» 124 oder 125 gezeigt ist, die Taktimpulse entweder zum CPU 100 oder zu den Kontrolleinrichtungen 108 bzw. 113 liefert. Diese Taktimpulue sind Impulse, die weiterhin zu Taktimpulaen oc1, 0c2, 0c3» oC\- abgeleitet werden« Es genügt an dieser Stelle zu sagen, daß die OC-Pulse Impulse sind, die sich nicht überlappen.)
Der Befehlsdecodierer 300 empfängt Eingangssignale H.. und U^2 vom Mikrocode 118 in der CPU 100 (oder von einer gleichen Schaltung in der Steuereinrichtung 108 oder Je nach dem vorliegenden Fall), ^s gibt fünf Impulssignale, die von dem befehlsdecodierer 300 abgeleitet werden, die bezeichnet sind als SET OUT 0C1, SET OUT ot-1 · , SETod^ ÜESET OUT 4*3, und RESET OUT oC2. Die Bezeichnung dieser Signale als solche ist von keiner speziellen Bedeutung, da die Signale direkt in den Taktgenerator 301 geleitet werden.
709836/0707
Der Taktgenerator 301 empfängt weiterhin Taktimpulse dl1,3 und Tuktimpulse ^_2,4t die zur gleichen Zeit auftreten wie die früher beschriebenen Taktimpulse mit der Ausnahme, daß oL1 und ot>3 auf einer Leitung erscheinen, und daß <*2 und «C4 auf einem anderen Leiter oder einer Leitung erscheinen. 01 und 02 sind weitere Eingangssignale des Taktgenerators 301 und werden von einem Fhasenteiler/Taktgenerator 306 abgeleitet. Diese Taktimpulse existieren nicht, wenn die Schnittstelleneinrichtung, die gerade beschrieben wird, sich im "Ausga be modus "(output-mode) befindet (was unten weiter beschrieben wird), und sie existieren, wenn die Schnitfstelleneinrichtung sich im "Eingabemodus" ("input-mode") befindet (was wiederum weiter unten beschrieben wird)·
iia genügt an dieser Stelle zu sagen, daß 01 und 02 Taktimpulse sind, die von einer Schaltung innerhalb der Schaltungsanordnung 306 in Abhängigkeit von einem Eingangs taktsignal abgeleitet werden, das beim Taktpuffer 305 empfangen wird und daß sie eine Zeitgabeinformation für den Taktgenerator 301 liefern, von der der letztere die Taktimpulse A1, A2, B1, B2 und B2 ableitet.
Mit Bezug auf das Diagramm von Wellenformen in fiß. 3b sieht man, daß beim Ausgabe modus A1 und B1 dieselbe Wellenform haben; A2, B2 und B2 haben dieselbe Wellenform und sind außer Phase mit A1. Man sieht auch, daß beim Auiigabe modus die Impulse 01 und 02 Null sind.
709836/0707
- 30 -
Im Gegensatz dazu sind beim Kingangsmodus A1 und 01 Impulse desselben Typs und sie treten zur selben Zeit auf und sie sind außer Phase mit den Impulsen A2 und 02, die gleichermaßen vom selben Typ sind und zur gleichen Zeit auftreten. Ks wird weiterhin festgestellt, daß B1, B2 und B2 beim Kingangsmodus Null sind. Alle diese Impulse, ihre Darstellungen und ihre Zweckbestimmung werden im Detail im Abschnitt dieser Beschreibung, der sich mit der Operationsbeschreibunß befaßt, weiter unten erläutert werden.
Kin Block 302 "Befehlodecodierer-Schieberegister-Datenausgabe" empfängt #-Taktimpulse j£i, oc 2, oC 3» 0(^, und läikrocode-Befehle H11, R12 R^, K11, B12 und S15. Die C^-Taktimpuls β werden erhalten, wie früher erwähnt wurde, und die H-Impulse werden vom Mikrocode 118 oder einer ähnlichen Schaltung in einer zugeordneten Geräte-Steuereinrichtung, wie in Fig. 1 gezeigt, erhalten. Der Decodierblock 302 liefert zwei Befehlssignale: "b»IOSR", welches bedeutet, daß die Inhalte der Daten auf der "b"-Sammelleitung je nach dem vorliegenden Fall in dem IOÜlt 101, 120 oder 121 angeordnet werden; und ein anderes Signal "1>IOSR" bedeutet, daß die Schieberegistereinrichtung vollständig mit EINSKW geladen wird für Zwecke, die später erläutert werden. Diese zwei Signale werden zu den Schieberegistern 201, 202, 210 und 211 geleitet.
709836/0707
In ähnlicher Weise spricht die Befehlsdecodierung 303 auf (A -Taktaignale und "R"-Signale an, die von zugeordneten Mikrocodea erhalten werden, und auf "I"-Signale von dem Befehlaregister der Zentraleinheit (oder der Steuereinrichtung), um ein Auagangssignal MIOSR»a" zu liefern. Dieees Ausgangeaignal wird zu den Schieberegistern 201, 202, 210 und 211 von zugeordneten IOSRa geleitet und bedeutet, daß die Dateninhalte der Schieberegiatereinrichtungen parallel zur a-Sammelleitung innerhalb der sie aufnehmenden Schaltung (entweder CPU 100, Steuereinrichtung 108 oder 113» Je nachdem) übertragen wird.
Im folgenden wird bezug genommen auf den Puffertreiber 304, Eingabe/Ausgabe-(I/O)-Taktpuffer 305, Phasenteiler 306 und Eingabe/Ausgabe-Puffer 307; der Treiber 304 weist eine Schaltung auf um in geeigneter Weise den Taktimpulsburst (Impulsbiindel) zum Taktpuffer 305 zu leiten, wenn das IOSR im Ausgabezustand (Modus) ist.
Vi/ie erwähnt, werden Bi und B2 vom Taktgenerator 301 abgeleitet und diese Taktimpulae sind im Wellenformdiagramm Fig. 3b bezeichnet. Beim Auegangnmodus liefert der I/O-Taktpuffer 305
dieses Taktimpulssignal zu dem ihm zugeordneten Sende-Empfanger.
Der Phasenteiler 306 empfängt einen Eingangstakt von seinem üende-Empfanger über den Puffer 305» wenn das IOSR sich im Eingangsmodus befindet (aber ignoriert Signale beim Puffer 305 beim Ausgangsmodus). Der Phasenteiler 306 empfängt auch Signale "SET OUT <kV und "RESET OUT 4^4" von einer Schaltungaanordnung 300 und 02 CUTOFF von der Schaltungsanordnung 203, und liefert interne
709836/0707
Taktsignale 01 und 02. (Beim Eingangswodus werden 01 und 02 erzeugt in Abhängigkeit von verschiedenen Bedingungen einschließlich der, daß "SET OUT <*· V geltend gemacht wird und daß 11HESET OUT d. 3" nicht geltend gemacht wird; das Gegenteil trifft zu beim Auagangsmodus, wobei 01 und 02 beim Ausgangsmodus nicht erzeugt werden, was in der Operationsbeschreibung unten erläutert wird.) Der Phaaenteiler 306 ist auch mit dem Eingabepuffer 307 verbunden·
Was schließlich die Schaltungen innerhalb aller iichaltungsanordnungen, die in den Fig. 2 und 3a gezeigt sind, betrifft, sind sie aus üblichen logischen Verbindungen hergestellt, wobei die Mus-Technologie verwendet ist. Der Fachmann kann derartige Logiken in bekannter Technik entwerfen· Daher und im Interesse der Klarheit der Darstellung sind derartige Einzelheiten nicht gezeigt.
Vor einer Diskussion der gegenseitigen Verbindungen der Fig. 4 betrachte man die Ein-Ausgabe-Sammelleitung 103 (I/O-BUS). Die Ein-Ausgabe-Sammelleitung 105 und die Umgehungs-Sammelleitungen 122, 123 und 126 enthalten jeweils eine Vielzahl von Leitern. Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung enthält die Sammelleitung sechzehn getrennte Leiter oder leitende Pfade zum Leiten von elektrischen Signalen oder Impulsen zu und von den verschiedenen Komponenten. Die Wege können wie folgt bezeichnet werden: MCLOCK und MCLOCK, die zwei Differenzwege für örtliche Taktsignalo bezeichnen ι ΒΙΟ1 und BIO1, die zwei erste Differenzdatenwege bezeichnen;
709836/0707
BIO 2 und BIO2, die zwei zweite Differenzdatenwege bezeichnen; BIO CLOCK und BIO CLOCK (BUS input output Clock) (Verbindungsleitung-Eingang-Ausgang-Takt), die zwei weitere Differenz takt aignalwege bezeichnen; BJiXTINT, Suumelleitung externe Unterbrechung (BÜß external interrupt); BDCINT, Sammelleitung Datenkanalunterbrechung (BUS data channel interrupt); INTP, Unterbrechungspriorität (interrupt priority); DCHP, Datenkanalpriorität (data channel priority); CLSAR, ein Löschimpuls oder Freigabeimpuls; und drei getrennte Masseleitungen. Mindestens BEXTIHT und BDCINT sind Signale, die in Umgehungssammelleitungen geleitet werden. Die Operation in Abhängigkeit von und verantwortlich für diese unterschiedlichen Tuktsignale und Datenwegsignale wird später in der Operationsbeschreibung erläutert, wobei die Bezeichnungen der Kupferdrähte an dieser Stelle gegeben werden, um die Beschreibung der Fig. 4, des Sende-Empfängers, zu erleichtern·
Die Schaltung von Fig. 4 ist enthalten entweder innerhalb des CPU-Sende-Empfangers 103, des Geräte-Sende-Empfängers 106, oder des Geräte» Sende-Empfängers 111· Die Schaltungsanordnung in Jedem von diesen Sende-Empfänger-Blöcken ist im wesentlichen dieselbe. Die vier Leiter, die ein IOSR mit einem zugeordneten Sende-Empfanger verbinden, sind am unteren Ende der Fig.M- gezeigt als I/O CLOCK Anschluß, D1 Anschluß, D2 Anschluß und INPUT Anschluß. Der INPUT-Anachluß entspricht dem nur in eine Richtung leitenden Leiter der vier Leiter, die in jeder Gruppe in Fig. 1 gezeigt sind. Die anderen Anschlüsse am oberen Abschnitt der Fig. H- wie GLEAH; BIOCLOCK; BIO1 , BI01; BTU5, BI02; MCLOCK, MCLOCK sind alle innerhalb der I/O Sammelleitung 10b
709836/0707
enthalten, wie früher erwähnt. T,„ , und Tz0.. bezeichnen Anschlüsse, von denen hohe oder Treiber-Taktsignale geliefert werden, und sie sind in Fig. 1 jene Leitungen, die die Verbindung von einem zugeordneten Takttreiber herstellen; (beispielsweise die Leitungen, die CPU 103 und den Takttfceiber 119 verbinden). In Fig. ist der Anschluß, der mit 10 UHz bezeichnet ist, derjenige Anschluß, mit dem der Taktoszillator 104 von Fig. 1 verbunden ist. Der mit MCLOCK XKNAB bezeichnete Anschluß ist nicht ein Anschluß für andere Geräte, sondern er ist intern innerhalb einesUende-Empfänger-Plättchens verbunden entweder zu einer hohen oder zu einer niedrigen Spannung in Abhängigkeit von seiner Verwendung entweder als CPU-öende-Empfänger oder als Gerüte-üteuereinrichtung-Sende-Empfanger.
In Fig. 4 sind Differenzsender 410, 412, 414, 416 gezeigt wie auch Differenzempfänger 411, 415, 415 und 417. Das Differenzpaar 410, 411 ist verbunden mit einem Flipflop und einem UND/ODER-Gatter 404; das Differenzpaar 412, ist verbunden mit einem Flipflop 401 und einem UND/ODER-Gatter 405; das Differehzpaar 414, 415 ist verbunden mit einem Flipflop 402 und einem UND/ODER-Gatter 406; und das Differenzpaar 416, 417 ist verbunden mit einem Flipflop und einem UND/ODER-Gatter 407· Ein Ausgang des Flipflops ist verbunden mit einem Eingang der UND/ODER-Gatter 404-407; Eingangesignale des Flipflops 409 werden erhalten von Ausgängen des NAND-Gatters 418 und auch vom Ausgang des
709836/0707
2707300
a*
- 35 -
Differenzempfängers 417. Andere UIiD-, NAND-, Inverter-Schaltungen und andere logische Schaltungen, die in der Darstellung gezeigt sind, sind in einer einfachen Weise miteinander verbunden, wie gezeigt. Die Art der einzelnen logischen Schaltungen und ihre Verbindung geht aus Fig. 4 hervor. Wie man sieht, haben die Differenzsender oder Gegentaktsender einen normalen und einen invertierten Ausgang, und die Differenzempfänger haben einen normalen und einen invertierten Eingang.
Mit Bezug auf die in Fig. 5 gezeigten Verbindungen ist als nächstes ein Blockdiagramm einer Geräte-Steuereinrichtung 108 oder 113 »on Fig. 1 gezeigt. Ein IOSR 504 ist äquivalent zu dem IOSR 120 oder 121, und somit zu dem, das in Fig. 2 und 3 gezeigt ist. Serielle Eingangssignal des IOSR 504 sind gezeigt als I/O CLOCK, I/O DATA 1 und I/O DCTA 2, die äquivalent sind zu den Signalen I/O CLOCK D1 bzw. D2 in Fig. 4. Der Anschluß "OUT" in Fig. 5, der mit dem IOSR 504 verbunden ist, ist äquivalent zu dem Anschluß "INPUT" in Fig. 4.
Das IOSR 504 ist durch die "a"-Sammelleitung mit dem Eingang des Befehlsregisters 503, des Adressregisters 505, des WortZählregisters 5O6, der verdrahteten Maskierung mit Treiber 509 und dem Datenausganginvertertreiber 510 parallel verbunden. Der Ausgang des Datenausganginrertertreibers 510 ist über einen Ausgangsanschluß parallel verbunden mit dem zugeordneten Peripheriegerät, beispielsweise dem Gerät 110 von Fig. 1 in Verbindung mit der Gerätesteuereinrichtung 108.
709836/0707
2707300 33
- 36 -
Ha besteht eine zurückführende Sammelleitung, die als "b"-Sammelleitung bezeichnet ist, und die von dom Peripheriegerät über einen Dateneingangsinverter und Treiber 511 zurückführt. Die "b"-Sammelleitung verbindet parallel Ausgänge des Treibers 509, der Gerätecodeanfrage 508, des T-Hegisters 507 (und seinen Eingang), des Wortzählregistera 506, und des Adressregisters 505 mit den Eingängen des IOSH 504 und der UnterbrechungsabHchaltlogik 513 (interrupt disable logic).
Im oberen linken Teil dee Diagramms von Fig. 5 liefert das Befehlsregister 503 ein Eingangssignal an eine Statusänderungslogik 500 (state change logic). Andere Eingangesignale zur Statusänderungslogik 500 sind die Eingangssignale MCLOCK und MCLOCK. Dieses Takteingangesignal wird durch Anschlüsse T^1 ■, und T^2 r. von **ig· * erhalten. Das Auagangssignal von der Statusänderungslogik 500 speist einen Statuszähler 501, der wiederum eine programmierbare Logikanordnung 502 (programmable logic Array (PLA)) speist. Die PLA 502 ist ein l'estspeicher und liefert Steuersignale an Komponenten der Gertite-Steuereinrichtung (IOC) wie in Fig. 5 gezeigt. Die Verbindung der Steuersignale ist aus Zwecken der Klarheit der Darstellung nicht gezeigt. (In gleicher Weise besteht eine Verbindung zwischen der Gerätecodeanfrage 508 und der Statusänderungulogik 500, die im Diagramm aus Zwecken der Klarhoit der Darstellung nicht gezeigt ist).
709836/0707
2707300
Anschlüsse, die bezeichnet aind mit INTP, DCHP, F(O-3), F STROBE, D(O-15), BUSY, DONE, INT, DCHSYN, aind alle mit der zugeordneten Geräte-Steuereinrichtung für Zwecke, die unten erläutert werden, verbunden. Eine BUSY/DONE-Logik 512 (Beaetzt-Erledigt-Logik) liefert ein Eingangssignal an die Unterbrechungaanfragelogik 514, die auch ein Eingängeaignal von der Unterbrechungaabachaltlogik empfängt. Daa Ausgangeaignal von der Unterbrechungsabfragelogik 514 apeist einen Anschluß, der mit INTR bezeichnet ist, der über die Umgehungaaammelleitung (beiapielaweiae die Sammelleitung 122 in Fig. 1) mit der Zentraleinheit verbunden ist. Schließlich liefert eine Datenkanalabfragelogik 515» die ein Eingängeaignal direkt von den Peripheriegerät über den Anschluß DCHSYN empfängt, ein Ausgangsaignal an einen Anschluß DCHR, wiederum über eine Umgehungaaammelleitung, direkt an die Zentraleinheit.
Das Vorstehende beendet die Verbindung von Komponenten, die sich auf die bevorzugte Ausführungsform der vorliegenden Erfindung beziehen.
In Fig. 6a und 6b iat der Algorithmus, der die achrittweiae Abfolge für die Eingabe-Ausgabe (CPU)- Sequenz zeigt, in einem Flußdiagramm dargestellt. Andere Zyklen oder S equenzen für den Rechner, beiapielaweiae FETCH oder HALT, aind nicht gezeigt. Ein Befehl wird von FETCH erhalten, um den Eingabe/Auagabe-Algorithmua zu atarten. Die verschiedenen Zuatände des Systeme aind durch recht«· eckige Kästen dargestellt, und Entscheidungen, die durch
709836/0707
die Logik innerhalb des Systems getroffen werden« sind durch diagonale Kästen dargestellt. Man sieht, daß, nachdem der Zustand 066 vollendet worden ist, wobei der Inhalt des "T-Registers" der Zentraleinheit auf ihre "b"-Sammelleitung gegeben worden ist , und der Inhalt der b-Sammelleitung unter bestimmten Bedingungen zum IOSR der Zentraleinheit geleitet worden ist, und andere Funktionen durchgeführt worden sind, eine Mehrzahl von Entscheidungskästen vorhanden sind, durch die die Durchführung des Eingabe/Ausgabe-Algorithmus verkürzt dargestellt werden kann. (Die Enteeheidungskästen beziehen sich auf spezifische Bits in dem Befehleregister (IR) der Zentraleinheit, beispielsweise bezieht sich 17 auf das siebte Bit des Befehlsregisters, usw.·) Wenn der Zustand 033 nicht erreicht wird, hat die Logik entschieden, daß das System gehen soll auf HALT, UULT (multiplizieren), DIV (dividieren), oder nach PUSH oder FOP (zum Speicher), oder auch zu RETUHM. Senn irgend einer dieser Befehle aktiviert ist, wird der Eingabe/Ausgabe-Algorithmus nicht vollendet· Sollte jedoch der Zustand 046 vollendet sein, dann wird eine Entscheidung getroffen, wobei entweder ein Dateneingabefluß (DATA IN) oder ein Datenausgabefluß (DATA OUT) fortgeführt wird. Der Weg für den DATA-IN-Pluß fährt fort mit dem Zustand 163 und endet mit dem Zustand 153» wie gezeigt, nachdem ein Befehl zum FETCH gesendet wird, indem eine neue Instruktion geholt wird; andernfalls wird das Flußdiagramm auf der rechten Seite nach unten fortgeführt, wobei die Zustände 023, 111 und 044 erreicht
709836/0707
werden, wonach ein Befehlssignal zum FIiTCH erzeugt wird, und eine neue Instruktion geholt wird.
Die Zustandsnummern 066, O33f 046 usw. sind bestimmte Bezeichnungen aus einem großen Bereich von Bezeichnungen, die jeden Zustand im gesamten Flußdiagramm der Zentraleinheit bezeichnen. Die Zustandanummern 101, 102, 104 usw. sind Bezeichnungen, die sich lediglich auf diese spezielle Eingabe/Ausgabesequenz beziehen.
In den Zuständen 066, 058, 153, 023 und 044 sind unterschiedliche Übertragungen von digitaler Information unter bestimmten Bedingungen schematisch dargestellt. Die Details von jeder übertragung müssen nicht explizit dargestellt werden, da die Schaltungsanordnungen, die die Information übertragen und empfangen, innerhalb eines Teils der Zentraleinheit 100 enthalten sind, die nicht Teil der vorliegenden Erfindung ist. Nichts desto trotz werden zum Zweck der Klarheit der Darstellung die folgenden Identifikationen angegeben: CO-Befohl aus (command out);TO-nulltea Bit des T-Registers; INTON-Unterbrechungsaktivierung/Abschaltung (interrupt enable/ disable); RTON-Echtzeitt aktaktivierung/Abechaltung (real time clock enable/disable); X-Hegister; Y-Register; Z-Kegister; YZR-rechtes Byte des Wortes in Registern! YZL»linkes Byte; Α-Addierer; ACD-BeStimmung Akkumulator (distinatipn accumulator); usw.·.
709836/0707
Böim Betrieb sollte man die Fig. 1 bis 8 gemeinsam betrachten. Wie erwähnt, beginnen die Bezugszeichen in jeder Figur mit der Nummer der Figur; beiapielaweiae beginnen in Fig. 1 alle Bezugszeichen bei 100; in Fig. 2 bei 200; usw..
Der Quarzoszillator 104 liefert ein Taktsignal mit 10 MHz (andere Frequenzen können verwendet wei*den) an den Sende-Empfanger 103. Der TakttUeiber 119 (Flipflop 403) in Kombination mit der öchaltung der ^ontraleinhoit wandelt dieses Taktsignal in ein 5 MHz-üignal um (oder ein anderes Signal mit halber Frequenz). Der Uonde-Empfänger 103 empfängt das 10 MHz-Signal am Anschluß 10 MlIz (Fig. 4) und liefert dieses Signal an den Differenzsender 416. Die Signale MCLüLGK und MCLOCK (Fig. 4) werden über die Eingabe/Ausgabe-Sainraelleitung 105 zu dem Geräte-Sende-Empfanger 106 und 111 gesendet, in denen zugeordnete örtliche Tuktsignale erzeugt werden. Jedes dieser Taktsignale hat dieselbe Frequenz von 10 MHz wie das des Oszillators 104, jedoch sind sie in der Phase verschoben infolge von Ausbreitungsverzögerungen, die aus der Länge der Eingabe/Ausgabe-Sammelleitung 105 resultieren. Bei den Sende-Empfangern 106 oder 111 empfangen die Anschlüsse MCLOCK und MCLOCK jeder diese außerphaaigen 10 MHz-Signale, wie in Fig. durch den Empfangspfeil angezeigt ist.
In Fig. 4 ist der Anschluß MCLOCK XENAB entweder auf einen hohen Wert oder auf einen niedrigen Wert gesetzt,
709836/0707
wobei der eine Wert ea dem CPU-Sende-J'Jmpfanger 103 ermöglicht, immer die Signale MCLOCK und MCLOCK zu senden, und der andere Wert ea immer den Steuereinrichtuiigs-Sende-Empfängern 106 und 111 ermöglicht, immer die Signale MCLOCK und MCLOCK zu empfangen» Diese Einstellung auf einen bestimmten Wert findet innerhalb einea jeden zugeordneten üende-iimpfänger-Plättchens atatt und bezieht sich nicht auf die noch zu beschreibende Operation der Sende- und ISmpfangamoden der Sende-ümpfanger. Das Obige beschreibt eine Operation, durch die ein örtliches Taktsignal in jedem Sendeütipfanger abgeleitet wird.
In ähnlicher Weise wie der Takttreiber 119 die Taktimpulse du 1,3 und dl 2,4 an die Zentraleinheit 1OO liefert, führen die Takttreiber 124 und 125 eine ähnliche Punktion für die Steuereinrichtungen 108 bzw. 113 aus. Demzufolge betätigen lokale Signale MCLOCK, MCLOCK von den Sende-Empfängern 106 und 111 das Flipflop 403 um Impulse dL1»3 und <k 2,4 an die Steuereinrichtungen 108 bzw. 113 zu liefern·
Das Vorgehende bezieht sich auf die Übertragung des Muttertaktsignale, die im allgemeinen in einer Hichtung erfolgt, vom Quarzoszillator 104 sum Sende-limpfanger 103, zum Sende-Kmpfanger 106 und 111, und zu den Steuereinrichtungen 108 und 113t Jedoch sind die Daten mit ihrem zugeordneten Synchroniaiertaktburst oder dem Sammelleitungstakt (BIOCLOCK) in zwei Richtungen wirkend;
709836/0707
der Zweirichtungscharakter des Uystemu sollte beachtet werden, wobei ein Sende-Empfänger entweder al» ein Sender oder als ein Empfänger wirkt.
Man nehme an, daß die Zentraleinheit 100 gerade ein Signal zur Eingabe/Ausgabe-Sammelleitung 105 sendet und daü einer der Geräte-Sende-Empfünger dieses Signal empfängt. Bei einem Ausgabe-: oder Sendemodus ist die in einer Richtung wirkende Leitung der Leitergruppe 102 (Eingabepuffer 307) auf einem hohen Wert und die Zentraleinheit 100 erzeugt Taktimpulse oder einen Takt burst, der in Fig. Jb an dem Taktpuffer 305 als "CLOCK pad" bezeichnet ist. Diese Impulse können sein ein Impulsbündel oder Burst von neun Zustandswechseln die vom Taktpuffer 30? zu dem CPU-ßende-Empfänger 103 weiterlaufen über eine der Zweirichtungsleitungen 102. Das Tuktimpulsbündel liefert eine Zeitgabe für die Daten, die aus den Puffern 206 und 215 heraus übertragen werden (gleichzeitig aber seriell), und für das Anfangabefehlabit pro Byte (also neun Statujwechsel oder Zustandawuchsel).
Synchron mit dem ersten der neun Zustandswechsel werden von den Puffern 206 und 215
Befehlöbite oder Präfixbits oder Präaetbits von den Schieberegistern 201/202 bzw. 210/211 übertragen. Wie später beschrieben wird, geben diese Bits die Natur des Werts an; sun Beispiel: ein Befehlswort. Diese neun Bits entsprechen auf diese Weise einem Befehlsimpuls, der von acht Datenbits auf jeder Leitung
709836/0707
gefolgt ist. Kin V/ort mit sechzehn Bit wird auf dieae Weise geteilt in zwei Bytes mit acht Bit, wobei Jedem Byte ein Befehls- oder Üteuerbit vorausgeht.
Daa Taktimpulsbündel plus die zwei seriellen Datenströme werden zum CPU-üende-Einpfänger 103 wie folgt gesendet. Der Taktpuffer 305 ist verbunden mit I/O CLOCK (Pig. 4) und die Datenströme von den Puffern 206 und 215 werden zu D1 bzw. 1)2 (Fig. 4) geführt.
Das Taktimpulebündel und die Datenutrüme werden in den ^ende-Empfänger. gesteuert durch daa Flipflop 400 und jedes Bit der Daten, die momentan entweder im Fliflop 401 (von D1) oder 402 (von D2) gespeichert werden, geschoben. Durch die Tätigkeit der Flipflops 400, 401 und 402 werden die üendegatter 410, 412 und 414 aktiviert und ein Taktimpuls und seine zwei zugeordneten Datenpulse werden gleichzeitig und difi'erentiell oder im Gegentakt über die Sammelleitung zu einem empfangenden Sende-Empfanger gesendet.
Als nächstes soll angenommen werden, daß ein Geräteüende-Empfänger gerade die gesendeten Zentraleinheitsignale empfängt. Daa Taktimpulsbündel (BIOCLOCK und BIOCLOCK) wird im Differenzempfänger 411 empfangen und üatenimpulse werden empfangen in den Differenzempfängern 413 bzw. 415. Wiederum speichern das Taktimpulsbündel oder der Takt-BURST bei Betätigung des UIID/ODEH-Gatters 407 mit dem Flipflop 400 und die
709836/0707
Dateniiapulse bei Betätigung der empfangenden Gatter 413 und 415 in Kombination mit den UND/ODER-Battern 405 bzw. 406 ihre Datenbita in den Flipflops 401 und 402.
Die in den Flipflops 401 und 402 eines Sende-Empfängera einer Gerätesteuereinrichtung geapeicherten Daten werden beim Kmpfangsmodus mit einer Geschwindigkeit von 5 MHZ gespeichert, weil BIOCLOCK ein Taktiiapulabündel mit 5 MHz ist, daa über die Zentraleinheit in der oben beochriebenen Weise erhalten wird. Das örtliche Taktsignal (MCLOCK) ist jedoch ein 10 MHz-Taktsignal, und ea ist dasjenige Taktsignal, das das Abtasten der Datenbits im empfangenden Sende-Empfanger der Steuereinrichtung steuert. Wegen der Laufzeit und anderer Faktoren, die eingangs erwähnt wurden, können diese Datenimpulse abgeschrägt sein oder verzerrt usw.. Der bessere Platz zum Abtasten dieser Art von Datenimpulsen ist in einem Abstand von der Vorderflanke oder Hückflanke des Datenimpulses· Auf diese Weise gestattet der Abtasttakt oder lokale Takt mit 10 MHz, der ein Datenabtasten zum Zeitpunkt des Auftretens der Flanke gestattet, die bei oder nahe der Mitte des ein größeres Intervall von 5 MHz aufweisenden Datenimpulses auftritt, immer ein Abtasten im Abstand von der Flanke des Datenimpulses. Dieses Abtasten wird erhalten mindestens durch die Flipflops 401 und 402 in Abhängigkeit von dem Signal MClOCK über das UNÜ/ODKH-Gatterv40?.
Danach werden die abgetasteten Daten seriell aus dem Sendeempfänger 106 in das IOSH 120 geschoben, wenn dieses die empfangende Sende-ümpfänger-Steuereinrichtungskoiübination iat, deren Gerätecode vorliegt (wird unten diskutiert).
709836/0707
Daa Taktsignal wird über den mit I/O CLOCK (Fig. 4) bezeichneten Anschluß in das IOSR 504- gesendet und die Datenwege laufen von D1, D2 (Fig. 4·) nach I/O DATA 1 bzw. I/O DATA 2 (Fig. 5). Die Richtungen des Empfangamodus und Sendemodus in Fig. 4 sind klar gezeigt. Wenn der CPU-Sende-Empfänger gerade sendet, muß der andere Sonde-Empfänger, die im Nachrichtenaustausch steht, empfangen.
Die Zentraleinheit und ihr Sende-Empfänger und die Geräte-Steuereinrichtungen und ihre zugeordneten Sende-Empfanger sind normalerweise im Empfangsmodus. Mit anderen Worten ist jede Komponente normalerweise derart tätig, daß sie ein Signal von einem anderen Gerät empfängt. Das IOSR der Zentraleinheit kann auf ein Signal vom Mikrocode 118 veranlaßt werden, einen Sendemodus anzunehmen, was begleitet ist von der Erzeugung eines Signals auf der Ein-Richtungsleitung der Gruppe 102, wie früher erwähnt. Es muß jedoch kein anderes Signal in irgend einer der empfangenden Endkomponenten erzeugt werden, um zu veranlassen, daß diese vom CPU-Sende-Empfänger kommende Daten empfangen, weil die anderen Komponenten bereits normalerweise im Empfangezustand sind·
Mit Bezug auf Fig. 2 soll beachtet werden, daß dort ^-Bit-Schieberegister gezeigt sind, von denen jedes in der Lage ist, entweder die ungeraden oder die geraden Bits von entweder dem linken oder dem rechten Byte eines Datenworts zu speichern. Die Daten werden von den Schieberegistern zu anderen Komponenten in der sie aufnahmenden Komponente, beispielsweise der Zentraleinheit, parallel
709836/0707
übertragen» Beispielsweise werden die Inhalte der b-Saiamelleitung in die Schieberegister geladen, wenn der Befehl "b^JOSH" aktiviert ist; also werden M, b3, b5 und b7 parallel in das Schieberegister 201 geladen; in ähnlicher Weise werden die anderen "b"_Daten in die drei anderen Schieberegister geladen.
Dor andere Befehl MIOSR*a" überträgt, wenn er aktiviert ist, in den Schieberegistern gespeicherte Daten parallel auf die ä-Sammelleitung. So werden al, a3, a5» a7 in die » -Sammelleitung vom Schieberegister 201 geladen, und in ähnlicher Weise werden die anderen "a"-I)uten gleichzeitig purallel übertragen. Jedoch wird das Hineinschieben der Daten in und das Herausschieben der Daten uua den Schieberegistern von den Puffern 206 und 215 seriell vorgenommen,
Die serielle Natur der Eingabe- und Auugabe-Obertragung der Daten ist in Fig. 7 vermerkt. Ausgangadaten oder Eingangsdaten mit Bezug auf den Puffer 206 können in der Form von DATA 1 bezeichnet werden; Auegangedaten oder Kingangedaten mit Bezug auf den Puffer 215 können in der Form von DATA 2 bezeichnet werden; und der Takt-Eingange- oder Ausgangs-Burst beim Puffer 305 ist dargestellt durch I/O CLOCK. Auu dieser Durstellung der Datenbits sieht man, daß der Multiplexer und Treiber (MUX DIlIVEH) den seriellen Bitstrom von den Schieberegistern 201 und 202 wechselweise schultet; in gleicher Weise schaltet der Multiplexer und Treiber 214 wechselweise den seriellen Bitstrom von den Schieberegistern 210 und 211.
709836/07Q7
I1'ig. 8 zeigt die Wirkung der Tätigkeit der Üohieberegiatereini'ichtung von Fig. 2. Beispielsweise kann der I/O-Puffer in Fig. 8 der Puffer 206 sein. Der I/O-Puffer sendet, wenn der Punktioneschalter S2 geschlossen ist, und der I/O-Puffer empfängt Information zum Schieberegister, wenn der Schalter S1 geschlossen ist. Einer der Punktionsschalter S1 und S2 ist jeweils geschlossen, einer jeweils offen.
^a wird nun auf Fig. 7 Bezug genommen» Das erste Bit in jedem der Datenworte r.ind die B«f«ihlubits oder Präfixbita odei* Präsetbits. In der i'i^ur uind aie gezeigt als Null-Bits. Dieser Zuutand wird durch eine empfangende Komponente (z.B. Steuereinrichtung 108) als ein üingabe/Auogabe-Befehl decodicrt, oder als ein Befehlswort. Diese Befehlsbits werden festgelegt durch die Befehlsdecodierung 208, in Abhängigkeit von den Taktimpulsen 4.2 und<&,4- und in Abhängigkeit von den Befehlsimpulsen von dem CPU-Mikrocode 118· Andere Kombinationen von Werten für die Befehlebits bezeichnen andere Arten von Wörtern, die unten wniter diskutiert werden.
709836/0707
Uu wird nun auf Fig. 2 Bezug genommen. Wenn dor iiofohl 1-»IOSK in allen vier Schieberegistern aktiviert wird, gibt dies überall in alle viel· Schieberegister Binnen ein. So ist, wenn DATA 1 und DATA 2 von Fig. 7 durch die Puffer 206 und 215
dea IOSH 101 empfangen werden und aonit an den Eingängen dor Schieberegiater 201, 202, 210 und 211, boiapielsweise wenn eine Hull in der i'egelschiebeeinrichtung 20) detektiert wird, diese Null das Null-Borehlabita von DATA 1 (weil die Einuen vorher gesetzt wurden). Zu dieaeiü Zeitpunkt wird 02CUTOFF erzeugt und dem l'haaenteiler 306 zugeführt, der die weitere Erzeugung von Taktimpul3en 01 und 02 bei dieaeia Uingaboraodua verhindert. Vor dieaem Cutoff-Zeitpunkt wiu'den '£u\:timpulse 01 und 02 erzeugt, weil die üchaltungaanordnuiig in Fig. 2 sich im Kitigabeuioduu oder -betriebazuatand befand, und die Daten wurden eingotaktet synchron mit dem Takt, der beim Taktpuffer 305 vom BIOCLOGK empfangen wurde, wuh die Urzeugung der Signale 01 und 02 gestattete, waa wiederum die Urztmgung der üignale A1 und A2 geatattete zum Schieben der Daten in die Schieberegister.
Ua wird nun Fig. 5 betrachtet. Daa Uingabe/AuiJgabe-Schieberegiater 50^ empfängt aeriell Daten an seinen Eingängen I/O DATA 1 und 2 und aynchron mit dem Signal I/O CLOCK (Eingabe/Auagabe-Takt). Die ersten beiden Datenbits sind, wie erwähnt, Befehlabits. wenn aie beide Null sind, wird dies so interpretiert, daß ea ein ilingabe/Auagabe-Befehlüwort iat und die restlichen sechzehn Bita werden parallel vom IOÜH in daa Befehlaregiater 503 übertragen. Daa Wort wird dann in die
o/ .
709836/0707 ORIGINAL INSPECTED
Statusänderungalogik 500 übertragen, in der ein Vergleich mit dem Gerätecode 508 gemacht wird, dor auch mit der Statuoänderungslogik 500 verbunden iat (nicht dargestellt).
Wenn die Steuereinrichtung 108 einen Gerütecode trügt, der übereinstimmt mit dem in den letzten sech« Bits des i^ingabe/Ausgabe-Befehlaworts angegebenen Gerätecode, dann findet die folgende Prozedur innerhalb dieser speziellen Steuereinrichtung statt. In Abhängigkeit von der Natur des Befehls wird mit einem der ltegister in der liegisteranordnung 505» 506, 509 gearbeitet und die "a"-Sammelleitung liefert dieses Uort an das zugeordnete Peripheriegerät, wenn dies erforderlich ist.
In ähnlicher V/eise kann ein Peripheriegerät, daa mit dieser Steuereinrichtung verbunden i3t, Signale zurück durch die Steuereinrichtung liefern, mindestens durch die b-Sammelleitung in das IOSR 5(H. Von dort werden die Signale rückwärts ausgesendet durch seinen zugeordneten Sende-Empfanger und zurück zu der Zentraleinheit. Natürlich wird bei dieser Sende-Betriebaart für diese Steuereinrichtung der Anschluß OUT derart betrieben, daß ein normalerweise vorliegender Empfangszustand für diesen Satz von Sende-Empfänger-Steuereinrichtung-Komponenten in eine Sendebetriebsart umgewandelt wird. Der Anschluß OUT in IJ1Ig. 5 iat der Pfeil mit einer Hichtung der Gruppe 107 in yig. 1.
709836/0707
Die anderen Signale, die von dem Gerät gesendet werden, sind auf der rechten Seite der Darstellung in Pig. 5 angezeigt. Wie früher erwähnt, werden einige der Signale durch die Umgehungs-Sammelleitung 122 gesendet, beispielsweise INTH, (entspricht INTP) und DCHR (entspricht T5SHF).
Ks wird nun auf Fig. 5 Bezug genommen. Die Komponente (Statusänderungslogik) spricht an auf mindestens die Tätigkeit des PLA 502 (programmierbare Logikanordnung) und den Befehl von der Befehluregiateranordnung 503. Die Statueänderungslogik 500 wählt einen logischen Status als den als nächster nachfolgenden Status nach der Beendigung des gegenwärtigen Status aua. Sämtliche Status oder Zustände, die von der Steuereinrichtung erzeugt werden, werden im FLi 502 gespeichert, das die Information in einem Lesespeicher (KUIi) gespeichert enthält zum Steuern der Tätigkeit von mindestens der Hegistereinrichtung der Steuereinrichtung.
Üu wird nun mit der Tätigkeit der Anordnung, die in Fig. 5 gezeigt ist, fortgefahren. Die Steuerlogik des IUC oder die Geräte-Steuereinrichtung schließt das PLA 502 ein« die Statusänderungslogik 500, und den Statuszähler 501. Die Steuerlogik bestimmt Operationen, die während den Datenkanalsequenzen und während der Ausführung von iSingabe/Ausgabebefehlen durchgeführt werden. Das PLA enthält Information, die Maachinenzustande oder Logikzustände des IOC definiert. Die Statusänderungslogik oder Zustandsänderungalogik 500
709836/0707
bestimmt die Reihenfolge, in der daa IOC oder die Geräte-üteuereinrichtung verschiedene Logikzuatände einnimmt, die in der programmierbaren Logikanordnung 502 definiert sind. Die Reihenfolge, in der ea die Zustände auswühlt, hängt ab von der Information, die vom PLA. 502 empfangen wird, und von der Ütatuainformation, die von anderen Komponenten des IOC empfangen wird.
Der Zustandszähler 5OI ist ein Register, daa die Acireeae der im PLA 502 gespeicherten Information enthält, die den laufenden Zustand der Gerätesteuereinrichtung definiert. Das Adressregister 5^5 iat ein Register mit fünfzehn Bit, dessen Inhalt während der Datenkanalsequenzen inkrementiert wird und zu seinem zugeordneten üende-Kmpfänger gesendet wird , wenn externe Register nicht aktiviert sind. Das Wort Zählreginter 5O6 ist ein Register mit sechzehn Bit, dessen Inhalt während der Datenkanalsequenzen inkrementiert wird . Das T-Regiater 507 i3t ein Register mit sechzehn Bit, das den Richtungsanzeiger und die Datenkanaladresae während der Datenkanalsequenzen enthält. Das Gerätecoderegiater 508, das Polaritätebit und die Bitstrukturen für externe Registeraktivierung (external register enable, KXT RJiG iSNAB) werden mit Information geladen, die von dem Peripheriegerät über die b-öammelleitung während der Ausführung eines IORST-Befehls (Eingabe/Ausgabe zurücksetzen) empfangen wurde. Das Gerätecoderegister 5O8 iat ein Register mit sechs Bit, welches wie erwähnt in Verbindung mit der ütatusänderungslogik 5(X) arbeitet, um es
709836/0707
-Jß -
dem IOC nur dann zu erlauben, einen iiingabe/AU3gabe-Befehl durchzuführen, wenn die Bits 10 -15 dea Befehls den Inhalten von O bis 5 des Gerätecoderegistera 508 gleich sind. In anderen Worten, wenn ein Wort mit 18 Bit wie in Fig. 7 gezeigt, zum IOÜK 504 der GeräteiJteuereinriohtung als ein iiingabe/Auagabe-Befehl3wort geleitet wird (bestimmt durch das ernte Bit von judem Byte mit neun Bit), dann wird ea in daa Befehlarugister 503 geschrieben. Dann wird in der ütutusänderun^alogik 5OO ein Vergleich gemacht zwischen den aecha am weitesten rechts stehenden Bits des Worts mit dom Gerätocoderegiater 5O8. Wenn eine Ubereinutiiouung bU3teht, dann weiß die Geräte-üteuereinrichtung, daß diener Befehl für sie bestimmt war.
Die Polaritätsbitanzeige i«t eine Unteranordnun^ der Anordnung 508 und sie ist ein liegiater mit einem Bit, das den üinn von gesendeten und von dem Peripheriegerät empfangenen Datenbits bestimmt. Wenn dieses Bit eine 1 enthält, wird ein niedriger Pegel an den Datenstiften, die mit dem Gerät verbunden sind, aiii eine O interpretiert, und eine 0 wird zu jenen stiften mit einem niedrigen Pegel übertragen. Wenn daa Polaritätsbit eine 0 enthält, haben zu den üatenstiften des Geräte übertragene Daten den entgegengesetzten Effekt.
Das Bit für externe Rogisteraktivierung iat wiederum ein Register mit einem Bit. Wenn diene» Bit eine Hull enthält, iat der Inhalt der Datenkanaladx'esse, die währ und der Dutenkanalsequenz gesendet wird, der Inhalt dea
709836/07Q7
Speicheradresaregiaters 505· Andernfalls ist die Datenkanaladresse eine Information, die von dem Peripheriegerät empfangen wurde·
Der iiaakierunga treiber 509 (MASK OUT I)HIVJSR) und die Unterbrechungaabachaltlogik 513 zusammen bestimmen den Inhalt des Registers mit einem Bit, das Unterbrechungsabachaltbit genannt wird. Der Inhalt dieses Bite wird nur während der Ausführung eines MüKO-Befehla (nask out) geändert. Die Gerätesteuereinrichtung macht nur dann Anforderungen nach einer Programmunterbrechung, wenn der Inhalt des Unterbrechungsabachaltbitu gleich Null ist.
Die Besetzt/lSrledigt-Logik 512 (busy/done logic) enthalt zwei Register mit einem Bit, genannt Besetzt-Bit und Erledigt-Bit. Der Inhalt dieser Bits wird gespeichert durch Operationen, die während der Ausführung von Eingabe/Auagabe-Befehlen durchgeführt werden und durch Operationen, die la Gerät durch daa Peripheriegerät durchgeführt werden. Die Inhalte dieser Bita werden über die UmgehungaSammelleitung während der Ausführung eines Einea.be/Ausgabe-Skip-Befehls übertragen. Die Unterbrechungsabschaltlogik 514 bestimmt, wann die Gerätesteuereinrichtung eine Anforderung nach einer Programmunterbrechung macht, üie enthält ein Register mit einem Bit, das Unterbrechungsanforderungnbit genannt wird. Die Gerätesteuereinrichtung macht eine Anforderung nach einer Unterbrechung, wenn dieseβ Bit eine 1 enthält. Die Datenkanalanforderungslogik
709836/0707
bestimmt, wann die Gerätesteuereinrichtung eine Anforderung nach einem Datenkanal macht. Sie enthält ein Hegister mit einem Bit, das Datenkanalanforderungsbit genannt wird. Die Geräte-Steuereinrichtung macht eine Dntenkanalanforderun^, wenn dienes Bit ein« 1 enthält.
Zuia Zusammenfassen von vier Typen der übertragung auf der Kingabe/Auagabe-tiammelleitungsanordnun^ wird wieder auf Pig. 7 Bezug genommen. Jede der vier Typen besteht aus einem Steuerbit und acht Datenbita, die auf zwei Datenleitungen übertragen werden (vier Datenleitungen zur Berücksichtigung einer differentiellen oder üegentaktübertragung). Die vier Typen werden durch Codieren der üteuerbits identifiziert. Eine logiuche "1" auf der Sammelleitung kann durch ein Signal mit hohem Pegel repräsentiert sein.
Das erste Bit von jedem Byte mit neun Bit wird als eine Null dargestellt und die beiden Werte Hull werden decodiort in der Bedeutung einer Kingabe/Ausgabe-Inatruktion oder eines Eingabe/Ausgabe-Befehls.
Wenn aber das Befehlsbit von DATA 1 niedrig int und daa Befehlabit von DATA 2 hoch ist, wird dies benutzt um eine Datenübertragung vom CPU (Zentraleinheit) zu einem ausgewählten Peripheriegerät während programmierter Eingabe/Ausgabe- und Datenkanal-Unterbrechungen (Breaks) anzuzeigen, ISa gibt drei Datenformate, die bei dieser Datenart der übertragung verwendet worden:
709836/0707
to
Cl) Normale Daten, wo die Bits 0-15 verwendet worden als ein Datenwort mit 16 Bit; dies wird benutzt bei bestimmten Befehlen und für Übertragungen von Daten während Datenkanalzyklon;
(2) I/O Skip (Eingabe/Ausgabe-Skip), wobei die Bits 2-15 ignoriert werden; das Bit O wird verwendet, um DÖSE (Erledigt) darzustellen und das Bit 1 wird verwendet,um BUST (Besetzt) darzunteilen; dieses Format wird verwendet, wenn ein Gerät auf einen I/O Skip-Befehl antwortet;
(3) die Datenkanaladresse ist das dritte üatenübertragungsformat, wobei die Bits 1 bis 15 als eine Speicheradresse verwendet werden; das Bit O wird verwendet um eine üingabe oder Ausgabe anzuzeigen, "1" repräsentiert dabei eine Eingabe und "O" repräsentiert eine Ausgabe; dieses Format wird vorwendet, wenn ein Peripheriegerät auf eine Dntenkanaladressanforderung antwortet»
Die nächste Kombination für die Befehlübits würde sein DATA 1 hoch und DATA 2 niedrig; diou bezieht sich auf eine Dutenkanaladreasanforderung (DCADUCi) von der Zentraleinheit an die Eingabe/Ausgabe-Sammelleitung. Diese Art von Anforderung zeigt an, daß dasjenige Peripheriegerät, das mit der höchsten Priorität einen Datenkanalzyklus anfordert, die Speicheradresse, die es zu verwenden wünscht, an die Zentraleinheit senden sollte über die UmgehungsSammelleitung 122 oder 123 und die Sammelleitung IO5.
709836/0707
-J1-
Wenn schließlich die Befehlsbits 1,1 sind, so soll dies eine Anforderungsfreigabe (ΙΙφίΝΒ) von der Zentraleinheit 100 zu der Eingabe/Auagube-üchaltung darstellen. Dieses Wort synchronisiert externe Unterbrechungsanforderungen und Datenkanalanforderungen, die von den Peripheriegeräten 108, 113 usw. empfangen wurden, die andernfalls üchwierigkeiten durch miteinander konkurrierende Anforderungen erzeugen könnten»
Die Erfindung kann noch in andex»en speziellen Aubführungsformen verwirklicht sein, ohne vom Kern oder von den wesentlichen ^Eigenschaften der Erfindung abzuweichen. Daher sind die vorliegenden Ausführungaformen in Jeder Hinsicht nur als Erläuterung und nicht al3 Beschränkung aufzufassen.
■J / ■
709836/0707

Claims (1)

  1. 2707300
    Patentanspruch
    Datenverarbeitungsanlage, die eine Zentraleinheit, einen mit der Zentraleinheit in Verbindung stehenden Hauptspeicher, Eingabe/Ausgabe-Einrichtungen mit einer .inzahl von Peripheriegerätesendeempfängern zum Anschluß zwischen die Zentraleinheit und die gleiche Anzahl von Peripheriegeräten und eine Taktquelle aufweist, dadurch gekennzeichnet,
    daß eine Gerätesteuerung in den Eingabe/Ausgabe-Hinrichtungen vorgesehen ist zum Senden und Empfangen von Signalen zwischen 1. jedem Peripheriegerät (110, 115) und 2. der Zentraleinheit (100) und jeweils einem der i'eripheriegerätesendeempfänger (106, 111); daß die Gerätesteuerung eine gleiche Anzahl von individuellen Gerätesteuereinrichtungen (108, 115) aufweist, und daß jede Gerätesteuereinrichtung aufweist:
    Eine Schieberegisteranordnung (120, 121) zum seriellen Empfangen einer Eingabegruppe der Signale von dem betreffenden Sendeempfänger (106, 111) und zum seriellen Sende:, einer Ausgabegruppe der Signale zu dem betreffenden Sendeem#fanger;
    erste Sammelleitungsanordnung, um parallel Darstellungen von bestimmten Signalen aus der Eingabegruppe der Signale von der Schieberegisteranordnung mindestens zu dem zugeordneten Peripheriegerät zu leiten;
    709836/0707
    ORIGINAL INSPECTED
    Eine weitere Sammelleitungsanordnung, um parallel Darstellungen von bestimmten Signalen der Ausgabegruppe der Signale mindestens von dem zugeordneten Peripheriegerät mindestens zu der Schieberegisteranordnung zu leiten;
    2ine Hegisteranordnung, die zwischen die erste und die zweite Sammelleitungsanordnung geschaltet ist, um 1. von der ersten Sammelleitungsanordnung Darstellungen der Cingabegruppe der Signale zu empf'uigen, 2. diese Darstellungen zeitweise zu speichern und 3. Darstellungen der Ausgabegruppe der Signale zu der zweiten oammelleitungsanordnung zu senden;
    Eine Befehlsregisteranordnung (503), die mit der ersten Sammelleitungsanordnung in Verbindung ist, zum Speichern eines Befehls, der von den Darstellungen bestimmter Signale der Eingabegruppe abgeleitet ist;
    Eine programmierbare Logik-Feld-Anordnung (502), in der Information gespeichert ist, die repräsentativ für verschiedene Operationslogikzustände der betreffenden Gerätesteuereinrichtung ist, zur Steuerung der Operation mindestens der Registeranordnung derart, daß sie sich innerhalb eines der Zustände befindet;
    Eine Zustandsänderungslogik (500), die in Abhängigkeit mindestens von der Tätigkeit der programmierbaren Logik-Feldanordnung und dem Befehl von dem Befehlsregister (503 ) einen von verschiedenen Operationslogikzustanden als den als nächstes nachfolgenden Zustand nach der Beendigung
    709836/0707
    -yi-3
    des gegenwärtigen Zustande auswählt; und
    Eine Umgehungsleitungsanordnung (122, 1^3, 126), um andere der genannten Signale, die sich auf Anfragen der Peripheriegeräte und der Zentraleinheit für bestimmte Operationen des Hauptspeichers (116) beziehen, direkt zwischen der betreffenden Gerätesteuereinrichtung und der Zentraleinheit auf einem Weg zu leiben, der nicht den zugeordneten Sendeempfänger enthält.
    7 Ü J! ft -i B / 0 7 0 7
    ORIGINAL INSPECTED
DE2707800A 1976-02-27 1977-02-23 Datenverarbeitungsanlage Expired DE2707800C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/662,179 US4040032A (en) 1976-02-27 1976-02-27 Peripheral device controller for a data processing system

Publications (3)

Publication Number Publication Date
DE2707800A1 true DE2707800A1 (de) 1977-09-08
DE2707800B2 DE2707800B2 (de) 1979-04-19
DE2707800C3 DE2707800C3 (de) 1980-01-10

Family

ID=24656696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2707800A Expired DE2707800C3 (de) 1976-02-27 1977-02-23 Datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US4040032A (de)
JP (1) JPS52110534A (de)
CA (1) CA1062373A (de)
DE (1) DE2707800C3 (de)
FR (1) FR2342527A1 (de)
GB (1) GB1581837A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4268908A (en) * 1979-02-26 1981-05-19 International Business Machines Corporation Modular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays
FR2480969A1 (fr) * 1980-04-16 1981-10-23 Dshkhunian Valery Unite d'echange d'information a microprocesseur
US4851995A (en) * 1987-06-19 1989-07-25 International Business Machines Corporation Programmable variable-cycle clock circuit for skew-tolerant array processor architecture
JPH02155002A (ja) * 1988-12-07 1990-06-14 Omron Tateisi Electron Co データ伝送方式
US6574330B1 (en) * 1999-12-10 2003-06-03 Rockwell Science Center, Inc. Bus interface for automatic call distributor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3564509A (en) * 1968-04-22 1971-02-16 Burroughs Corp Data processing apparatus
US3699525A (en) * 1970-11-27 1972-10-17 Honeywell Inf Systems Use of control words to change configuration and operating mode of a data communication system
US3753236A (en) * 1972-03-31 1973-08-14 Honeywell Inf Systems Microprogrammable peripheral controller
US3909790A (en) * 1972-08-25 1975-09-30 Omnus Computer Corp Minicomputer with selector channel input-output system and interrupt system
US3900833A (en) * 1974-03-18 1975-08-19 Singer Co Data communication system
FR2284928A1 (fr) * 1974-09-16 1976-04-09 Honeywell Bull Soc Ind Interface de liaison d'une unite de traitement de donnees a un ensemble de m postes de travail

Also Published As

Publication number Publication date
GB1581837A (en) 1980-12-31
CA1062373A (en) 1979-09-11
US4040032A (en) 1977-08-02
DE2707800B2 (de) 1979-04-19
FR2342527A1 (fr) 1977-09-23
JPS52110534A (en) 1977-09-16
JPS5542427B2 (de) 1980-10-30
DE2707800C3 (de) 1980-01-10
FR2342527B1 (de) 1983-08-19

Similar Documents

Publication Publication Date Title
DE2707783A1 (de) Datenverarbeitungsanlage
DE2560474C2 (de) Schaltungsanordnung in einer digitalen Datenverarbeitungsanlage zur Steuerung der Übertragung von Informationen zwischen peripheren Einheiten und einem Zentralprozessor
CH669292A5 (de) Verfahren zur uebertragung von informations-paketen ueber ein paketvermittlungs-koppelfeld.
DE2557896A1 (de) Vielfachpunkt-datenvermittlungssystem
DE2205260C3 (de) Schaltungsanordnung zum Übertragen von Daten zwischen einer zentralen Datenverarbeitungsanlage und einer Reihe von Datenstationen
DE3121540A1 (de) &#34;vorrichtung zur signaluebertragung zwischen zwei datenverarbeitungsstationen&#34;
DE2362010A1 (de) Fehleralarm- und -ueberwachungsanlage und verfahren zur fehleralarmausloesung und fehlerueberwachung
DE1299145B (de) Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen
DE2209136B2 (de) Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen
DE1524136A1 (de) Parallel-Serien- bzw. Serien-Parallelwandler
DE2628753C3 (de) Digitaldaten-Übertragungsnetz
EP0692893B1 (de) Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus
DE3043100C2 (de)
DE2517565A1 (de) Integrierte kombinationseinheit fuer ein datenverarbeitungssystem
EP0184706B1 (de) Schnittstelleneinrichtung
DE2148956A1 (de) Datenuebertragungssystem
DE2707820C3 (de) Datenverarbeitungsanlage
DE2707800A1 (de) Datenverarbeitungsanlage
DE3042105A1 (de) Ripple-registereinrichtung
DE102007004008B4 (de) Verfahren zur Datenübertragung zwischen verschiedenen Taktdomänen, entsprechende Vorrichtung und entsprechendes Speichermodul
DE2217178B2 (de) Schaltungsanordnung zur Interpolation der Ausgangscodes von PCM-Übertragungssystemen
DE2831887C2 (de) Anordnung zum Übertragen von Daten zwischen einer zentralen Verarbeitungseinheit und mehreren peripheren Einheiten
EP0133577B1 (de) Datenübertragungsverfahren in einem digitalen Übertragungsnetzwerk und Vorrichtung zur Durchführung des Verfahrens
DE2459758B2 (de) Schaltungsanordnung zur exklusiven Verbindung von zwei Datenleitungen in einer Nachrichtenanlage
DE10308159B4 (de) Kommunikationsgerät mit Verwendung von Drei-Stufen-Kommunikationspuffern

Legal Events

Date Code Title Description
BGA New person/name/address of the applicant
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee