PatentDe  


Dokumentenidentifikation DE3687367T2 19.05.1993
EP-Veröffentlichungsnummer 0202675
Titel Ein/Ausgabe-Steuerungssystem.
Anmelder Fujitsu Ltd., Kawasaki, Kanagawa, JP
Erfinder Sera, Akihiro, Kunitachi-shi Tokyo 186, JP;
Goukon, Kazuhiko, Kawasaki-shi Kanagawa 211, JP;
Shibara, Yuji, Kawasaki-shi Kanagawa 214, JP
Vertreter Eitle, W., Dipl.-Ing.; Hoffmann, K., Dipl.-Ing. Dr.rer.nat.; Lehn, W., Dipl.-Ing.; Füchsle, K., Dipl.-Ing.; Hansen, B., Dipl.-Chem. Dr.rer.nat.; Brauns, H., Dipl.-Chem. Dr.rer.nat.; Görg, K., Dipl.-Ing.; Kohlmann, K., Dipl.-Ing.; Ritter und Edler von Fischern, B., Dipl.-Ing.; Kolb, H., Dipl.-Chem. Dr.rer.nat., Pat.-Anwälte; Nette, A., Rechtsanw., 8000 München
DE-Aktenzeichen 3687367
Vertragsstaaten DE, FR, GB, SE
Sprache des Dokument En
EP-Anmeldetag 21.05.1986
EP-Aktenzeichen 861069227
EP-Offenlegungsdatum 26.11.1986
EP date of grant 30.12.1992
Veröffentlichungstag im Patentblatt 19.05.1993
IPC-Hauptklasse G06F 13/28

Beschreibung[de]
1. Gebiet der Erfindung

Die vorliegende Erfindung betrifft ein Eingabe/Ausgabe- Steuersystem (nachstehend abgekürzt als IOC), welches eine Übertragungssteuerung von Daten durchführt, die zwischen einer zentralen Steuereinheit (nachstehend abgekürzt als CC), und einer Eingabe/Ausgabe-Einheit (nachstehend abgekürzt als IO) übertragen werden. Insbesondere betrifft sie ein IOC, welches eine hohe Betriebsgeschwindigkeit und eine hohe Verläßlichkeit aufweist.

2. Beschreibung der verwandten Technik

Das IOC arbeitet zur Steuerung einer IO, beispielsweise einer Schreibmaschine, eines Magnetbandgeräts, eines Geräts mit einer magnetischen Disk, usw. Kürzlich gelangte die IO unter die Steuerung eines Mikroprogramms. Im allgemeinen werden die Prozessoren, die unter einer derartigen Mikroprogramm-Steuerung betrieben werden, in zwei Arten unterteilt: i) einen Bit-Scheiben-Prozessor, und ii) einen Ein-Chip-Prozessor.

Der Bit-Scheiben-Prozessor (i) weist eine hohe Bearbeitungsgeschwindigkeit auf, in der Größenordnung von Nanosekunden, und eine hohe Verarbeitungsfähigkeit, und daher wird der Bit-Scheiben-Prozessor häufig für ein Hochgeschwindigkeits-IOC eingesetzt. Allerdings ist in dem Bit-Scheiben-Prozessor ein spezielles Mikroprogramm erforderlich, und daher weist der Prozessor in der Hinsicht Nachteile auf, daß er keine Vorzüge in bezug auf eine allgemeine Einsetzbarkeit bezüglich der Firmware bietet, und daß die Auslegung seiner zugehörigen Hardware und Firmware schwierig ist.

Der Ein-Chip-Prozessor (ii) hat allerdings nicht die Nachteile, die der Bit-Scheiben-Prozessor (i) aufweist, und daher kann der Ein-Chip-Prozessor in der Praxis in einem weiteren Bereich eingesetzt werden, verglichen mit dem Bit-Scheiben-Prozessor. Allerdings weist der Ein-Chip- Prozessor in der Hinsicht einen Nachteil auf, daß die Verarbeitungsgeschwindigkeit, in der Größenordnung von Nanosekunden, des Ein-Chip-Prozessors geringer ist als die des Bit-Scheiben-Prozessors. Das IOC, an welches die vorliegende Erfindung angepaßt ist, wird mit dem Ein-Chip- Prozessor gesteuert.

Das IOC nach dem Stand der Technik weist zwei Hauptmerkmale auf, die nachstehend beschrieben sind. Erstens wird durch ein Mikroprogramm eine Übertragung mit einem direkten Speicherzugriff (einem sog. DMA) realisiert, und zweitens erfolgt eine Unterbrechung für einen Mikroprozessor (uP) jedesmal dann, wenn ein Vorgang für einen Programm-Modus (PM) während einer DMA- Übertragung eingeleitet wird.

Angesichts der voranstehend erwähnten zwei Merkmale entstehen bei dem IOC nach dem Stand der Technik zwei Probleme. Erstens wird eine Datenübertragungsrate verringert, und daher kann man kein Hochgeschwindigkeits- IOC erwarten, und zweitens ist die zugehörige Firmware sehr kompliziert. Es wird darauf hingewiesen, daß ein Beispiel für ein derartiges IOC nach dem Stand der Technik in dem U.S. Patent Nr. 4 467 454 gezeigt ist.

Ein Artikel von M. Evans in WESCON TECHNICAL PAPERS, 30. Oktober - 2. November 1984, Seiten 24/6-1-24/6-7, Anaheim, Kalifornien, LA, mit dem Titel "Programmable Winchester/Floppy Disc Controller with dual 10 MB/sec DMA Channels" beschreibt eine Disk-Datensteuerung einschließlich eines Seriell/Parallel-Wandlers, eines Formatierers, eines Komparators und eines ECC, wobei die Systemdatensteuerung ein 32-Byte-FIFO und zwei 16-Bit DMA sowie eine Mikroprozessor-Zugriffssteuerung einschließlich zugehöriger Register und Dekodierlogiken umfaßt.

Daher besteht eine der vorliegenden Erfindung zugrundeliegende Aufgabe in der Bereitstellung eines IOC, welches eine höhere Betriebsgeschwindigkeit und einfachere Firmware aufweist, bezogen auf das voranstehend angegebene IOC nach dem Stand der Technik.

Die voranstehende Aufgabe wird durch die im Patentanspruch 1 beanspruchte Erfindung gelöst.

KURZBESCHREIBUNG DER ZEICHNUNG

Das voranstehende Ziel sowie die Merkmale der vorliegenden Erfindung werden aus der nachstehenden Beschreibung der bevorzugten Ausführungsformen unter Bezug auf die beigefügten Zeichnungen deutlicher, wobei:

Fig. 1 ein typisches konventionelles Eingabe/Ausgabe- Steuersystem erläutert, in welchem ein Ein-Chip- Mikroprozessor und dessen benachbarte Teile angebracht sind;

Fig. 2 einen Registeraufbau zeigt, der das Programmmodus-Steuerregister bildet (PMREG);

Fig. 3 ein Schaltbild mit der Darstellung des grundsätzlichen Aufbaus eines Eingabe/Ausgabe- Steuersystems gemäß der vorliegenden Erfindung ist;

Fig. 4 ein detailliertes Schaltbild der Peripherie des Speicher-FIFO ist, welches in Fig. 3 gezeigt ist, mit der Ausnahme des Diagnose- Überprüfungsabschnitts;

Fig. 5 ein Beispiel für eine Adressentabelle zeigt, die in dem Eingabe/Ausgabe-Steuersystem (IOC) definiert ist;

Fig. 6A ein Flußdiagramm ist, welches eine Reihe von Betriebsabläufen zeigt, die durch eine CMR- Unterbrechung erzeugt wurden;

Fig. 6B ein Flußdiagramm ist, welches eine Reihe von Betriebsabläufen zeigt, die durch eine Unterbrechung zur Beendigung erzeugt werden, die von der Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL) ausgegeben wird;

Fig. 6C einen Schritt zeigt, der erzeugt wird, wenn ein Fehler des gemeinsamen Busses (C-BUS) auftritt;

Fig. 7 ein detailliertes Beispiel für das Speicher-FIFO erläutert;

Fig. 8 eine schematische Allgemeinansicht darstellt, um die Diagnose-Überprüfung in bezug auf das Speicher-FIFO zu erläutern;

Fig. 8B eine schematische Allgemeinansicht darstellt, um die Diagnose-Überprüfung in bezug auf sowohl das Speicher-FIFO und die Einheits-IO zu erläutern;

Fig. 8C eine schematische Allgemeinansicht darstellt, um die Diagnostik-Überprüfung in bezug auf sowohl das Speicher-FIFO als auch den gemeinsamen Bus C-BUS zu erläutern;

Fig. 9 eine schematische Allgemeinansicht darstellt, um einen Datenverarbeitungs-Modus durch den Mikroprozessor uP zu erläutern;

Fig. 10 ein Beispiel für ein detailliertes Schaltbild des Diagnose-Überprüfungsteils (DIGC) darstellt, welcher mit dem Speicher (FIFO) zusammenarbeitet;

Fig. 11A und 11B Zeitablaufdiagramme zeigen, zur Erläuterung einer Informationsübertragung, die auf dem gemeinsamen Bus C-BUS ausgeführt wird;

Fig. 12 eine Adressentabelle zeigt, die in dem Eingabe/Ausgabe-Steuersystem (IOC) definiert ist;

Fig. 13A ein Beispiel einer Bit-Anordnung zur Einstellung des Registers (STR) zeigt;

Fig. 13B ein Beispiel einer Bit-Anordnung zur Einstellung des Registers (IOMR) zeigt;

Fig. 14 eine teilweise Perspektivansicht einer Magnetdisk-Einheit (DKU) ist;

Fig. 15 mit mehr Einzelheiten einen gemeinsamen Bus- Verbindungsbereich von Fig. 4 darstellt;

Fig. 16 Peripheriegeräte des Speichers FIFO darstellt;

Fig. 17 Peripheriegeräte der Schaltung IOCTL darstellt;

Fig. 18 ein detailliertes Beispiel der Steuerschaltung für den direkten Speicherzugriffs-Modus (DMACTL) erläutert;

Fig. 19 Zeitablaufdiagramme zeigt, um den Betriebsablauf der Schaltung DMACTL in dem DMA-Schreibmodus zu erläutern, also C-BUS → DKU;

Fig. 20 Zeitablaufdiagramme zeigt, um den Betriebsablauf der Schaltung DMACTL in dem DMA-Lesemodus zu erläutern, also DKU → C-BUS;

Fig. 21 ein detailliertes Beispiel der Steuerschaltung für den direkten Speicherzugriff der Eingabe/Ausgabe-Einheit (IDMACTL) zeigt;

Fig. 22 Zeitablaufdiagramme zeigt, um den Betriebsablauf der Schaltung IDMACTL in dem DMA-Lesemodus zu erläutern, also DKU → FIFO;

Fig. 23 Zeitablaufdiagramme zeigt, um den Betriebsablauf der Schaltung DMACTL in dem DMA-Schreibmodus zu erläutern, also FIFO → DKU;

Fig. 24 ein detailliertes Beispiel des Zeit-Supervisors (TIMSV) zeigt. Der Supervisor (Fig. 15) ermittelt den Zeitablauf des C-BUS und erzeugt das entsprechende C-BUS-Zeitablaufsignal (TOUT);

Fig. 25 Zeitablaufdiagramme zeigt, um den Betriebsablauf des Zeit-Supervisors (TIMSV) klarzustellen, der in Fig. 24 gezeigt ist; und

Fig. 26 ein detailliertes Beispiel für die Eingabe/Ausgabe-Steuerschaltung (IOCTL) zeigt.

BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN

Vor der Beschreibung der Ausführungsformen der vorliegenden Erfindung werden unter Bezug auf die zugehörigen Figuren der Stand der Technik und die dort auftretenden Nachteile beschrieben.

Fig. 1 zeigt ein typisches und konventionelles Eingabe/Ausgabe-Steuersystem, in welchem ein Ein-Chip- Mikroprozessor und dessen benachbarte Teile angebracht sind. In Fig. 1 repräsentiert IOC ein Eingabe/Ausgabe- Steuersystem. Das IOC ist über einen allgemeinen Bus C-BUS mit einer zentralen Steuereinheit CC verbunden, und ist weiterhin über einen externen Bus E-BUS mit einer Eingabe/Ausgabe-Einheit IO verbunden.

Verschiedene IOs existieren in einem Computersystem; im vorliegenden Fall ist als ein Beispiel eine Magnetdisk- Einheit (DKU) gezeigt, jedoch kann die Eingabe/Ausgabe- Einheit IO eine Schreibmaschine, eine Anzeige mit einer Kathodenstrahlröhre (CRT), und dergleichen sein.

Einen Kern des IOC stellt der Ein-Chip-Mikroprozessor uP dar, der über einen internen Bus I-BUS Daten von einem Nur-Lese-Speicher (ROM) und einem Speicher (RAM) mit wahlfreiem Zugriff empfängt, und über den I-BUS auch Daten an das RAM sendet. Weiterhin ist der uP über Gates GT1 und GT3, die beispielsweise Gates des offenen Kollektortyps sind, mit einem Programm-Modus-Steuerregister PMREG bzw. einem Direktspeicherzugriffs-Datenregister DMAREG verbunden. Diese beiden Register PMREG und DMAREG sind weiterhin mit dem gemeinsamen Bus C-BUS über Gates GT2 bzw. GT4 verbunden. Weiterhin ist der Mikroprozessor uP an eine Steuerschaltung (DMACTL) für direkten Speicherzugriff-Modus und an eine Unterbrechungs- Steuerschaltung (INTCTL) angeschlossen. Diese Schaltungen DMACTL und INTCTL, eine Programmodus-Steuerschaltung (PMCTL), und eine Eingabe/Ausgabe- Adressenanpassungsschaltung (IOAM) sind mit dem gemeinsamen Bus C-BUS verbunden. Die anderen Busleitungen, I-BUS und E-BUS sind miteinander über eine Eingabe/Ausgabe-Einheitssteuerschaltung IOCTL zusammengeschaltet.

Es wird darauf hingewiesen, daß die zentrale Steuereinheit CC üblicherweise über den gemeinsamen Bus C-BUS mit mehreren IOCs verbunden ist, allerdings ist in Fig. 1 nur ein IOC, welches mit der Magnetdisk-Einheit DKU verbunden ist, repräsentativ dargestellt. Die Teile in jedem IOC spielen die folgenden Rollen.

(a) Die Eingabe/Ausgabe-Adressenanpassungsschaltung IOAM legt fest, ob die auf dem gemeinsamen Bus C-BUS übertragenen Daten eine Adresse aufweisen, welche das IOC der eigenen Seite festlegt, so daß die Schaltung IOAM selektiv ein IOC der eigenen Seite unter mehreren IOCs feststellen kann.

b) Die Programmodus-Steuerschaltung PMCTL führt eine Datenübertragung in einem Programm-Modus durch, der durch die zentrale Steuereinheit CC durchgeführt wird.

c) Das Programmodus-Steuerregister PMRCTL dient als ein Puffer für eine Datenübertragung in dem Programm- Modus.

d) Das Datenregister DMAREG für den Modus mit direktem Speicherzugriff dient als ein Puffer für eine Datenübertragung in dem DMA-Modus.

e) Die Steuerschaltung DMACTL für die Steuerung des direkten Speicherzugriffs führt eine Datenübertragung in dem DMA-Modus durch.

f) Die Unterbrechungs-Steuerschaltung INTCTL steuert den Interrupt-Betrieb.

g) Die Eingabe/Ausgabe-Einheitssteuerschaltung IOCTL steuert die Eingabe/Ausgabe-Einheit IO.

Die voranstehend erwähnten Funktionsbestandteile arbeiten wie nachstehend angegeben.

Bei dieser Erläuterung der Betriebsabläufe wird zunächst der Inhalt eines Steuerregisters erläutert, wobei dieses Steuerregister Programmsteuerwörter speichert. In dem Beispiel werden die Programmsteuerwörter in den Speicher RAM mit wahlfreiem Zugriff geladen.

Fig. 2 zeigt die Struktur eines Registers, welches das Programmodus-Steuerregister (PMREG) bildet. Es wird darauf hingewiesen, daß die Programmsteuerwörter über das Register PMREG an das Steuerregister übergeben werden, welches in dem RAM ausgebildet ist. Wie aus Fig. 2 hervorgeht, werden die Programmsteuerwörter mit einem Gerätestatus-Register (GSR), einem Dateiadressenregister (FAR), einem Befehlsregister (DMR), einem Speicheradressenregister (MAR), und einem Wortzählungsregister (WCR) eingestellt, die jeweils 16 Bit umfassen. Diesen Registern sind zugehörige Adressen zugeordnet, beispielsweise 200 bis 204. Die Adressen sind insbesondere auf dem gemeinsamen Bus C-BUS definiert und werden an jeweilige IOCs angelegt, die mit dem C-BUS verbunden sind.

Die voranstehend erwähnten Register spielen die nachstehend angegebenen Rollen.

a) Das Gerätestatus-Register DSR dient als ein Markierungsbereich zur Anzeige eines Status des IOC der eigenen Seite. Beispielsweise werden Statusangaben wie "Es werden momentan Daten übertragen", "Die Datenübertragung ist beendet", usw. in dem Markierungsbereich angezeigt.

b) Das Dateiadressenregister FAR gibt eine Dateiadresse an, welche gewünschte Dateidaten festlegt, die in der Magnetdisk-Einheit DKU gespeichert sind, auf die zugegriffen werden soll.

c) Das Befehlsregister CMR steuert den Start oder den Stopp des IOC und befiehlt unterschiedliche Betriebsabläufe, beispielsweise einen Schreibvorgang, einen Lesevorgang usw.

d) Das Speicheradressenregister MAR gibt eine Adresse eines Hauptspeichers (durch MM in Fig. 1 gezeigt) an, in welcher die gelesenen Daten auf dem C-BUS, von der IO über das IOC gespeichert werden sollen, und legt eine Adresse des Hauptspeichers MM fest, von welcher die in die IO über den C-BUS und das IOC einzuschreibenden Daten gelesen werden sollen.

(e) Das Wortzahlregister BCR gibt an, wieviele Datenworte übertragen werden sollen, also die Anzahl der Übertragungswörter.

Daher kann das IOC entsprechend dem Inhalt der voranstehend erwähnten Register auf die nachstehende Weise betrieben werden.

(1) Zum Starten des IOC führt die zentrale Steuereinheit CC Schreiboperationen durch in bezug auf das Dateiadressenregister FAR, das Speicheradressenregister MAR, und das Wortzahlregister WCR, in dem Programm-Modus (PH), und daher beginnt der Betriebsablauf mit der Speicherung der entsprechenden Teiladresse, Speicheradresse, und der Anzahl von Übertragungswörtern in zugehörigen Registern. Nimmt man an, daß "0" in dem Register FAR gespeichert wird, "100" in dem Register MAR, und "10" in dem Register WCR, so drücken diese Zustände tatsächlich aus, daß folgendes erfolgen soll: "Lesen von Daten aus der Datei 0 in der Einheit DKU, und nachfolgende Übertragung von 10 Datenwörtern an den Speicher MM an der Adresse 100".

(2) Das IOC erkennt, mit Hilfe der Eingabe/Ausgabe- Adressenanpassungsschaltung IOAM, daß die voranstehend erwähnten Schreibvorgänge bei dem Programmodus-Steuerregister PMREG der eigenen Seite durchgeführt werden müssen, und startet daher die Programmodus-Steuerschaltung PMCTL.

(3) Das Steuerregister PMREG stellt in sich die voranstehend angegebenen unterschiedlichen Informationen ein, die von der zentralen Steuereinheit CC abgegeben werden, und sendet dann das Unterbrechungssignal an den Mikroprozessor uP, um das Mikroprogramm zu starten.

(4) Entsprechend dem Befehl des Mikroprogramms wird die Information in dem Steuerregister PMREG in dem festgelegten Bereich des RAM gespeichert. Daraufhin führt die zentrale Steuereinheit CC entsprechend der auf diese Weise gespeicherten Information in dem RAM unterschiedliche Betriebsabläufe aus, beispielsweise einen Betriebsablauf, in welchem die IOC-Schaltung gestartet wird und gewünschte Daten aus einem festgelegten Sektor der Einheit DKU ausgelesen werden.

(5) Die Betriebsvorgänge bis zum Speichern der Information in dem angegebenen Bereich werden wiederholt, um die gesamte erforderliche Information in dem RAM anzusammeln. Ist dies vollständig, so schreibt die zentrale Steuereinheit CC einen Befehl an das Befehlsregister CMR aus, wobei dieser Befehl dazu verwendet wird, zum ersten Mal das gesamte IOC- System zu starten. Der Schreibvorgang an das Register CMR wird ebenfalls in dem Programm-Modus (PM) durchgeführt, und daher erfolgt eine Unterbrechung für den Mikroprozessor uP, und das Mikroprogramm wird gestartet, wie in den voranstehend erwähnten Fällen der Register FAR, MAR und WCR.

(6) Entsprechend einem Befehl von dem Mikroprogramm wird der Befehl in dem Register CMR in den angegebenen Bereich des RAM eingeschrieben. Nimmt man an, daß der Befehl beispielsweise lautet "Lesevorgang", so startet das Mikroprogramm die Eingabe/Ausgabe- Einheitssteuerschaltung IOCTL, wie in dem in dem voranstehenden Paragraphen 4 beschriebenen Beispiel. Die Schaltung IOCTL startet die Einheit DKU, um aus dieser Daten auszulesen. Die auf diese Weise gelesenen Daten werden momentan gespeichert, in Form von Übertragungsdaten (TD), in dem RAM, über den internen Bus I-BUS.

(7) Das Mikroprogramm startet die Steuerschaltung DMACTL für den direkten speicherzugriffs-Modus, um die gelesenen Daten einzustellen, die in dem RAM in dem Datenregister DMAREG für den direkten Speicherzugriffs-Modus wortweise über den internen Bus I-BUS gespeichert wurden. Die gelesenen Daten werden weiterhin über den gemeinsamen Bus C-BUS an die zentrale Steuereinheit CC geschickt. In diesem Fall wird der Inhalt der Register FAR und MAR um +1 inkrementiert, wogegen der Inhalt des Registers WCR um -1 dekrementiert wird, und zwar jedesmal, wenn die Übertragung eines Wortes beendet ist.

(8) Wenn der Inhalt des Wortzählregisters WCR Null erreicht, so startet das Mikroprogramm die Unterbrechungs-Steuerschaltung INTCTL und führt eine Unterbrechung zur Beendigung für die zentrale Steuereinheit CC aus. Weiterhin legt das Mikroprogramm eine Unterbrechungsinformation in dem Bereich fest, entsprechend dem Gerätestatus-Register DSR, in dem Speicher RAM. Daher ist eine Folge von Betriebsabläufen in dem IOC-System beendet, und das IOC-System wird in seinem Zustand belassen, bis für es ein nächster Startvorgang durchgeführt wird.

Wie aus dem voranstehenden Ausführungen deutlich wird, leidet das typische, konventionelle IOC an zwei Problemen. Erstens wird eine Übertragung für direkten Speicherzugriff (DMA) unter Verwendung des Mikroprogramms durchgeführt, und daher wird eine Datenübertragungsrate verringert, und es kann kein Hochgeschwindigkeits-IOC erwartet werden, und zweitens erfolgt eine Unterbrechung an den Mikroprozessor jedesmal dann, wenn der Programm-Modus (PH) aktiviert wird, und daher wird die Konstruktion der zugehörigen Firmware kompliziert.

Zur Behebung der voranstehend erwähnten Probleme könnte einen Fachmann auf diesem Gebiet zunächst daran denken, eine Datenübertragung zwischen der Schaltung IOCTL und dem Speicher RAM in dem DMA-Modus durchzuführen. Eine derartige Vorgehensweise ist allerdings nicht vorteilhaft, da die Rate für die Datenübertragung zwischen dem Speicher RAM und dem gemeinsamen Bus C-BUS nicht hoch wird, sondern so bleibt wie sie ist, so daß die Betriebsgeschwindigkeit des IOC-Systems insgesamt nicht verbessert wird.

Fig. 3 ist ein Schaltbild zur Erläuterung der Grundlagen des Aufbaus eines Eingabe/Ausgabe-Steuersystems gemäß der vorliegenden Erfindung. In Fig. 3 werden Teile, die identisch zu Teilen vorhergehender Figuren sind, durch dieselben Bezugsziffern bezeichnet (wie bei allen weiteren Figuren). Im Vergleich mit Fig. 1 besteht daher ein hauptsächlicher Unterschied in bezug auf den Aufbau in der Verwendung eines Pufferspeichers durch das IOC-System vom Fig. 3. Bei dem Beispiel gemäß der vorliegenden Erfindung besteht der Pufferspeicher aus einem FIFO-Speicher (First- In/First-Out: Zuerst hinein /zuerst heraus). Hierfür werden ein Selektor (SEL) und eine Eingabe/Ausgabe- Einheitssteuerschaltung (IDMACTL) für direkten Speicherzugriff, anders als die Schaltung DMACTL eingeführt. Weiterhin ist ein Diagnoseüberprüfungsabschnitt (DIGC) in das IOC-System gemäß der vorliegenden Erfindung eingeführt. Der DIGC-Abschnitt stellt keinen unverzichtbaren Bestandteil der vorliegenden Erfindung dar, sondern ist für diese nützlich. Dies bedeutet, daß der DIGC einen gewünschten Diagnose- Überprüfungsvorgang ausführt, zusammen mit und/oder unter der Steuerung des Mikroprozessors uP und/oder der zentralen Steuereinheit CC, der Schaltung IDMACTL, der Schaltung DLACTL, und des Pufferspeichers (FIFO). Der Pufferspeicher, also das Speicher-FIFO, speichert die Übertragungsdaten temporär, die zwischen dem gemeinsamen Bus C-BUS und der Eingabe/Ausgabe-Einheitssteuerschaltung IOCTL übertragen werden sollen. Der Selektor SEL, der mit dem Speicher FIFO zusammenarbeitet, wählt entweder Übertragungsdaten von dem internen Bus I-BUS oder Übertragungsdaten von dem gemeinsamen Bus C-BUS aus. Die Eingabe/Ausgabe-Einheitssteuerschaltung IDMACTL für direkten Speicherzugriff, die mit dem Speicher-FIFO zusammenarbeitet, erzielt eine Steuerung einer Datenübertragung zwischen der Eingabe/Ausgabe- Einheitssteuerschaltung IOCTL und dem Speicher-FIFO. In dem IOC-System gemäß der vorliegenden Erfindung werden unter Verwendung von Hardware sowohl ein Schreibvorgang als auch ein Lesevorgang in dem Programm-Mode (PM) in bezug auf ein Steuerregister REG in dem System-IOC durchgeführt. Wenn eine Befehlsinformation in das Befehlsregister CMR eingeschrieben wird, welches Befehle für unterschiedliche Vorgänge an das System-IOC sendet, erfolgt eine Unterbrechung des Mikroprozessors uP, und dann wird ein Mikroprogramm gestartet, um das IOC-System zu aktivieren. Wenn eine Datenübertragungsreihe zu Ende geht, also der Betriebsablauf des IOC-Systems endet, wird von der Schaltung IOCTL eine Unterbrechung an den Mikroprozessor MP geschickt, um das Mikroprogramm zum Anhalten der Datenübertragung zu starten.

Der Betriebsablauf des IOC-Systems läßt sich wie nachstehend angegeben zusammenfassen. Die DMA-Übertragung der Übertragungsdaten, die zwischen den 10 und der zentralen Steuereinheit CC übertragen werden, erfolgt ohne Verwendung eines Mikroprogramms, ebenso wie in dem zwischen konventionellen IOC-System. Statt durch dieses Mikroprogramm wird der Datenübertragungsverkehr durch das Speicher-FIFO geregelt. Daher wird das Mikroprogramm nur erstens dafür verwendet, um dann, wenn das IOC-System gestartet werden soll, die Eingabe/Ausgabe-Einheit IO entsprechend dem Inhalt des Steuerregisters REG zu starten, und zweitens, um dann, wenn der Betriebsablauf des System-IOCs zu Ende geht, eine Unterbrechungsinformation zu editieren, die an die zentrale Steuereinheit CC angelegt werden soll, um einen Unterbrechungsbefehl auszuführen. Hieraus läßt sich schließen, daß das IOC-System gemäß der vorliegenden Erfindung so viele automatische Hardware-Vorgänge wie möglich umfaßt, und daher läßt sich ein IOC-System mit hoher Geschwindigkeit realisieren.

Die in Folge einer Verwendung des Diagnose- Überprüfungsabschnitts DIGC erhaltenen Vorteile werden nachstehend zusammengefaßt. Wie voranstehend erwähnt, wird die Datenübertragung hauptsächlich unter Verwendung von Hardware durchgeführt, repräsentiert durch das Speicher- FIFO, und daher wird ein Abschnitt, der zwischen der Einheit CC und der Einheit IO (DKU) eingeschlossen ist, anscheinend leer. Sobald daher während der Datenübertragung ein Problem auftritt, ist eine verhältnismäßig lange Zeit für die Fehlerbeseitigung erforderlich. Dies bedeutet, daß es schwierig ist, schnell festzustellen, ob das Problem in dem Speicher-FIFO, der Einheit IO oder dem Mikroprozessor uP aufgetreten ist. Dies verursacht eine anscheinende Verschlechterung bezüglich der Verläßlichkeit des IOC-Systems. Um dieses auszugleichen, wird in das System der Diagnose- Überprüfungsabschnitt eingeführt, also um eine Verläßlichkeit des IOC-Systems sicherzustellen. Die Funktionen des Diagnose-Überprüfungsteils lassen sich grob in zwei Teile unterteilen. Die erste Funktion besteht nämlich darin, zu jedem Zeitpunkt eine Anforderung bezüglich Datenübertragung an die Steuerschaltung DMACTL für direkten Speicherzugriff und/oder die Eingabe/Ausgabe- Einheitssteuerschaltung IDMACTL mit direktem Speicherzugriff anzuhalten. Die zweite Funktion besteht in der Durchführung eines Lese/Schreib-Vorgangs für das Speicher-FIFO, nur zum Zeitpunkt des voranstehend erwähnten Anhaltens, unter Mikroprogramm-Kontrolle. Mit den voranstehend erwähnten Funktionen kann der Mikroprozessor uP eine Diagnoseüberprüfung in bezug auf das Speicher-FIFO allein . . .(1) durchführen, und eine Diagnoseüberprüfung in bezug auf sowohl das Speicher-FIFO und die Eingabe/Ausgabe-Einheit IO allein . . .(2), und weiterhin kann die zentrale Steuereinheit CC eine Diagnose-Überprüfung in bezug auf das Speicher-FIFO und dem Mikroprozessor uP alleine durchführen . . .(3). Falls erforderlich ist es möglich, die Daten von der zentralen Steuereinheit CC über das Speicher-FIFO zu behandeln, und die so bearbeiteten Daten an die Einheit IO zu schicken...(4). Unter Verwendung der voranstehend angegebenen Diagnose-Überprüfungen (1), (2), und (3) ist es einfach, wirksam zu unterschieden, ob das Problem an der Seite des Speicher-FIFO aufgetreten ist, an der Seite der zentralen Steuereinheit CC, oder an der Seite des Mikroprozessors uP. Weiterhin ist es unter Verwendung der voranstehend erwähnten Datenverarbeitung (4) möglich, beispielsweise Verschlüsselungsdaten zu realisieren.

Fig. 4 zeigt ein detailliertes Schaltbild einer Peripherie des in Fig. 3 dargestellten Speicher-FIFOs, ausschließlich des Diagnose-Überprüfungsabschnitts. Eine Erläuterung wird nachstehend unter Bezug auf die Fig. 3 und 4 gegeben. Für diese Erläuterung erfolgen zunächst Zusammenfassungen in bezug auf die Funktionen der Hauptschaltungsblöcke. Es wird darauf hingewiesen, daß der Diagnose- Überprüfungsabschnitt im einzelnen später erläutert wird.

(A) Erläuterung in Bezug auf Funktionen hauptsächlicher Schaltungsblöcke (Fig. 3 und Fig. 4) (1) Gemeinsamer Bus (C-BUS)

Der gemeinsame Bus C-BUS verbindet die zentrale Steuereinheit CC gemeinsam mit mehreren IOC-Systemen, und an diese werden Daten übertragen.

(2) Eingabe/Ausgabe-Adressenanpaßschaltung (IOAM)

Die Schaltung IOAM vergleicht Adressen zur Erkennung jedes IOC-Systems, welchem vorher eine individuelle Adresse zugeordnet wird. Die Schaltung IOAM ist nämlich eine Adressenkoinzidenz-Meßschaltung.

(3) Programm-Modus-Steuerschaltung (PMCTL)

Die Schaltung PMCTL führt eine Übertragungssteuerung in einem Programm-Modus (PM) durch.

(4) Steuerregister (REG)

Das Register REG arbeitet als ein Pufferregister, um in diesem sowohl Steuerinformation zum Steuern des Eingabe/Ausgabe-Steuersystems IOC und Anzeigeinformation zur Anzeige eines internen Status des Systems IOC zu speichern.

(5) Mikroprozessor (uP)

Der Mikroprozessor uP arbeitet als ein Befehlselement zum Steuern verschiedener Operationen, die in dem IOC-System durchgeführt werden sollen, und umfaßt beispielsweise einen 16-Bit-Mikroprozessor.

(6) Nur-Lese-Speicher (ROM)

In dem ROM ist ein Mikroprogramm gespeichert, also ein Steuerprogramm für den Mikroprozessor u.

(7) Speicher mit wahlfreiem Zugriff (RAM)

In dem RAM werden momentan verschiedene Informationen oder Daten gespeichert, die in dem Mikroprozessor uP verwendet werden sollen.

(8) Unterbrechungs-Steuerschaltung (INTCTL)

Die Schaltung INTCTL erzielt eine Steuerung eines Unterbrechungsvorgangs.

(9) Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL)

Die Schaltung IOCTL steuert die Eingabe/Ausgabe-Einheit IO.

(10) First-In/First-Out-Speicher (FIFO)

Der FIFO-Speicher wird zur momentanen Speicherung von Übertragungsdaten verwendet, die zwischen dem gemeinsamen Bus C-BUS und der Eingabe/Ausgabe-Steuerschaltung IOCTL übertragen werden sollen.

(11) Eingabe/Ausgabe-Einheitssteuerschaltung mit direktem Speicherzugriff (IDMACTL)

Die Schaltung IDMACTL führt eine Übertragungssteuerung von Daten durch, die zwischen der Schaltung IOCTL und dem FIFO-Speicher übertragen werden sollen. Die Schaltung IDMACTL stellt ein unverzichtbares Teil für die Realisierung des Diagnose-Überprüfungsvorgangs dar, der nachstehend im einzelnen erläutert wird.

(12) Steuerschaltung für den Direktspeicher-Zugriffsmodus (DMACTL)

Die Schaltung DMACTL erzielt in einem DMA-Modus eine Übertragungssteuerung von Daten, die zwischen dem gemeinsamen Bus C-BUS und dem FIFO-Speicher übertragen werden sollen. Die Schaltung DMACTL stellt ebenfalls ein unverzichtbares Teil zur Realisierung des Diagnose- Überprüfungsvorgangs dar, der im einzelnen nachstehend erläutert wird.

(13) Selektor (SEL)

Der Selektor SEL arbeitet als eine Auswahlschaltung zur selektiven Eingabe entweder von Daten von dem internen Bus I-BUS oder von Daten von dem gemeinsamen Bus C-BUS in den FIFO-Speicher. Der Selektor SEL hängt mit der nachstehend beschriebenen Diagnose-Überprüfung zusammen.

(14) Interner Bus (I-BUS)

Der Bus I-BUS ist in dem Prozessorsystem angebracht, in dessen zentralem Abschnitt sich der Mikroprozessor uP befindet. Dies bedeutet, daß der Bus I-BUS als ein Mikroprozessor-Bus arbeitet. Der Bus I-BUS hängt ebenfalls mit der nachstehend beschriebenen Diagnose-Überprüfung zusammen.

(B) Erläuterung der Adressentabelle /(Fig. 5)

Eine Adressenzuordnung in dem IOC-System, gesehen von dem Mikroprozessor aus, wird als eine Adressentabelle bezeichnet.

Fig. 5 zeigt ein Beispiel für eine in dem IOC-System definierte Adressentabelle.

(1) Die Adressen 0 bis OFFF, in hexadezimaler Notation, sind dem Speicher mit wahlfreiem Zugriff RAM zugeordnet.

(2) Die Adressen 1000 bis 1004 sind dem Steuerregister REG zugeordnet, welches so arbeitet, daß es die Programmsteuerwörter usw. puffert, um das IOC-System zu steuern. Im einzelnen ist die Adresse 1000 dem Gerätestatus-Register DSR zugeordnet, 1001 dem Dateiadressenregister FAR, 1002 dem Befehlsregister CRM, 1003 dem Speicheradressen-Register MAR, und 1004 dem Wortzählregister WCR.

Es wird darauf hingewiesen, daß die den voranstehend erwähnten Registern DSR, FAR, CMR . . . zugeordneten Adressen nicht dieselben sind wie die, die in der vorherigen Fig. 2 mit 200, 201, 202 . . . angegeben sind. Dies liegt daran, daß die Adressen 200, 201, 202 nicht Adressen sind, die von dem Mikroprozessor uP aus gesehen werden, sondern speziell auf dem gemeinsamen Bus C-BUS definiert sind, wie voranstehend erwähnt wurde.

(3) Bei diesem Beispiel werden die Adressen 1005 bis 3FFF nicht verwendet.

(4) Die Adresse 4000 wird zur Anzeige des Status des FIFO-Speichers verwendet. Der Status des FIFO- Speichers wird als "VOLL" oder "LEER" ausgedrückt. Der erstgenannte Status zeigt an, daß der FIFO- Speicher mit Übertragungsdaten angefüllt ist, und der letztgenannte Status zeigt an, daß sämtliche Übertragungsdaten von dem FIFO-Speicher ausgegeben wurde, und sich in ihm keine Übertragungsdaten mehr befinden.

Es wird darauf hingewiesen, daß die voranstehend erwähnten beiden Statusarten als zugehörige elektrische Signale gemessen werden können, die von den Klemmen FUL und EMP ausgegeben werden, die von dem FIFO-Speicher bereitgestellt werden, wie in Fig. 4 gezeigt ist.

(5) Die Adresse 4001 ist ein Bereich, der dafür verwendet wird, einen Unterbrechungsbefehl anzuzeigen, der an den gemeinsamen Bus C-BUS ausgegeben werden soll.

(6) Die Adresse 4002 wird dem Steuerregister zugeordnet, welches in der Eingabe/Ausgabe- Einheitssteuerschaltung IOCTL angebracht ist, welche Steuerinformation puffert, um die Eingabe/Ausgabe- Einheit IO zu steuern.

(7) In dem Beispiel wird der Bereich mit gekrümmter Schraffur hinter der Adresse 4003 nicht verwendet.

(8) Die Adresse 8000 ist ein Bereich, der dafür verwendet wird, einen Schreib- oder Lesevorgang in bezug auf den FIFO-Speicher festzulegen. Die Adresse 8000 ist während des Diagnose-Überprüfungsvorgangs durch das DIGC wirksam.

(9) Die Adresse 8001 ist der Information "DIR", "IDMAEX", und "DMAEX" zugeordnet. Die Information DIR (Abkürzung für "direction": Richtung) wird zur Festlegung einer Richtung verwendet, in welcher die Übertragungsdaten TD übertragen werden sollen. Die Informationen "IDMAEX" und "DMAEX" sind während des Diagnose-Überprüfungsvorgangs durch das DIGC wirksam, und werden dazu verwendet, die Eingabe/Ausgabe- Einheitssteuerschaltung IDMACTL mit direktem Speicherzugriff bzw. die Steuerschaltung DMACTL für Direktspeicherzugriffs-Modus anzuregen.

Die voranstehend erwähnte, die Übertragungsrichtung festlegende Information DIR mit einem Bit nimmt den Logik- Wert "0" an, wenn die Daten von der Magnetdisk-Einheit (DKU) auf den gemeinsamen Bus C-BUS übertragen werden sollen, also DKU → C-BUS, was einen Lesevorgang "READ" gespeicherter Daten aus der Einheit DKU repräsentiert (siehe hierzu Fig. 4, unten in der Mitte). Wenn andererseits das Informations-Bit DIR "1" ist, so zeigt die Information DIR an, daß die Daten von dem gemeinsamen Bus C-BUS an die Magnetdisk-Einheit DKU übertragen werden sollen, also C-BUS → DKU, was einen Schreibvorgang "WRITE" für Daten repräsentiert, die in die Einheit DKU eingeschrieben werden sollen (vgl. hierzu Fig. 4, unten in der Mitte). Wie aus Fig. 4 unten in der Mitte hervorgeht, wird die voranstehend erwähnte, die Übertragungsrichtung festlegende Information DIR von einem die Übertragungsrichtung festlegenden Flip-Flop DIR.F/F ausgegeben, als dessen Ausgangssignal. Das Flip-Flop DIR.F/F wird über den internen Bus I-BUS durch den Mikroprozessor uP entsprechend der Information des Befehlsregisters REG gesetzt oder zurückgesetzt.

(10) In diesem Beispiel wird der Bereich mit gekrümmter Schraffur hinter der Adresse 8002 nicht verwendet.

(11) Die Adressen E000 bis FFFF sind dem ROM zugeordnet.

(C) Erläuterung in bezug auf innerhalb des IOC-Systems ablaufende Vorgänge (Fig. 6A, 6B und 6C)

Hier werden bestimmte Operationen entsprechend der vorliegenden Erfindung zunächst unter Bezugnahme auf Flußdiagramme erläutert, und die innerhalb des Eingabe/Ausgabe-Steuersystems IOC ablaufenden Vorgänge werden später im einzelnen erklärt.

(1) In dem IOC-System gemäß der vorliegenden Erfindung wird die Lese/Schreibsteuerung von Information von der Einheit CC an die Register FAR, MAR und WCR durch die Programmodus-Steuerschaltung PMCTL durchgeführt. Daher ist hier nur wenig Steuerung durch das Mikroprogramm erforderlich. Dies führt dazu, daß eine Eingabe/Ausgabe-Steuerung mit hoher Geschwindigkeit selbst bei Verwendung eines verhältnismäßig einfachen Mikroprozessors erzielt wird. Genauer gesagt, unterliegt die Eingabe/Ausgabesteuerung nur drei Informationselementen. Das erste Informationselement gibt an, ob der Inhalt des Wortzählerregisters WCR Null wird oder nicht, das zweite gibt an, welche Richtung durch das die Übertragungsrichtung festlegende Flip-Flop DIR.,F/F festgelegt ist, und das dritte zeigt den momentanen Status des FIFO- Speichers an, also VOLL, LEER, oder keines von beiden. Daher wird die Datenübertragung in einem Zustand ausgeführt, als wenn die Datenübertragung ohne innere Schaltkreise innerhalb des IOC-Systems durchgeführt würde. In dieser Beziehung bringt die Diagnose-Überprüfung Vorteile, wie voranstehend bereits erwähnt.

Das PMCTL kann sowohl aus einer Sequenzsteuerung als auch aus einem Adressendekoder bestehen. Die Sequenzsteuerung wird durch das IOAM getriggert und von einem C-BUS- Steuersignal kontrolliert, welches von dem C-BUS abgegeben wird. Der Adressendekoder empfängt ein von dem C-BUS abgegebenes C-BUS-Adressensignal. Daher arbeitet die Sequenzsteuerung so, daß sie entsprechend dem C-BUS- Steuersignal zuerst ein Taktsignal zum Holen von Daten und zweitens ein Taktsignal zur Ausgabe von Daten erzeugt. Der Adressendekoder arbeitet so, daß er das C-BUS- Adressensignal dekodiert, so daß das angegebene Register unter den Registern in dem REG, also DSR, FAR, CRM, MAR oder WCR für den Lese- oder Schreibvorgang aktiviert wird. Kurz gesagt arbeitet das PMCTL so, daß es Daten auf der C- BUS-Datenleitung holt und diese in eines der PMREG einsetzt, welches durch das C-BUS-Adressensignal festgelegt wird, mit einem vorbestimmten Takt entsprechend einem C-BUS-Protokoll. Alternativ hierzu arbeitet das PMCTL so, daß es Daten an die C-BUS-Datenleitung ausgibt, die von dem einen REG ausgelesen wurden, welches durch das C-BUS-Adressensignal festgelegt ist, mit einem vorbestimmten Takt entsprechend dem C-BUS-Protokoll.

(2) Wenn eine Befehlsinformation durch die zentrale Steuereinheit CC in dem Befehlsregister REG gesetzt ist, erfolgt eine Unterbrechung des Mikroprozessors uP. Daraufhin werden vorbestimmte Betriebsabläufe aufeinander folgend ausgeführt, wie grob durch die Flußdiagramme der Fig. 6A, 6B und 6C gezeigt ist.

(3) Fig. 6A ist ein Flußdiagramm zur Darstellung einer Folge von Vorgängen, die durch eine CMR-Unterbrechung erzeugt wird. Wenn die CMR-Unterbrechung an das Befehlsregister CMR angelegt wird, werden verschiedene Informationen, die von der zentralen Steuereinheit CC in die jeweiligen Register FAR, CMR, MAR und WCR eingeschrieben wurden, in das RAM geladen (siehe hierzu Schritt "a" in Fig. 6A). Weiterhin wird entsprechend der in das Register CMR eingeschriebenen Befehlsinformation das die Übertragungsrichtung festlegende Bit DIR bestimmt (vgl. die Adresse 8001 in Fig. 5), und dann wird das Flip-Flop DSR.F/F (Fig. 4) gesetzt oder zurückgesetzt, entsprechend der Bit- Information DIR. Zu diesem Zeitpunkt wird die Eingabe/Ausgabe-Einheitssteuerschaltung IOCTL (Fig. 3 und 4) gestartet. Weiterhin steuert die Schaltung IOCTL, nachdem sie die Eingabe/Ausgabe-Einheit IO gestartet hat, diese Einheit IO, um eine Vorbereitung für die Datenübertragung zu treffen (siehe hierzu Schritt "b" in Fig. 6A). Daraufhin wartet das Mikroprogramm auf das Auftreten der nächsten Unterbrechung (Siehe hierzu "INTERRUPTION WAIT" in Fig. 6A). Während der Warteunterbrechung "WAIT INTERRUPTION" wird, falls erforderlich, eine Diagnoseüberprüfung innerhalb des IOC-Systems durchgeführt.

In dem voranstehend erwähnten Schritt "a" von Fig. 6A wird dann, wenn der in das Speicher-RAM geladene Inhalt des Befehlsregisters CMR einen "Lesevorgang" anzeigt, die Ausgangslogik des Flip-Flops DIR.F/F auf "0" gesetzt (siehe "0": READ in Fig. 4). Wenn der Status des FIFO- Speichers nicht "VOLL" ist, es also leere Bereiche in dem FIFO-Speicher gibt, wird in diesem Fall die Eingabe/Ausgabe-Einheitssteuerschaltung IDMACTL für direkten Speicherzugriff gestartet, um von der Einheit DKU eingelesene Daten von der Eingabe/Ausgabe- Einheitssteuerschaltung einzuziehen. Die auf diese Weise erhaltenen Daten werden in den FIFO-Speicher gebracht. Inzwischen wird der FIFO-Speicher in einen Status "VOLL" versetzt, so daß die Aktivierung der Steuerschaltung IDMACTL gelöst wird.

Wenn der FIFO-Speicher nicht in einen Status "LEER" versetzt wird, wenn also Daten in dem FIFO-Speicher verblieben, so müssen die Daten an den gemeinsamen Bus C- BUS geschickt werden. Jedesmal dann, wenn diese Datensendung auftritt, wird der Inhalt des Speicheradressen-Registers MAR automatisch um +1 inkrementiert, um die Schreibadresse für den Hauptspeicher MM bezüglich der nächsten Schreibadresse zu aktualisieren. Weiterhin wird der Inhalt des Registers FAR um +1 inkrementiert, jedoch der Inhalt des Registers WCR um -1 dekrementiert. Wie voranstehend erwähnt, werden die von der Einheit DKU ausgelesenen Daten automatisch an den gemeinsamen Bus C-BUS übertragen und ausgegeben.

Wenn in dem voranstehend erwähnten Schritt "a" von Fig. 6A der in das RAM geladene Inhalt des Befehlsregisters CMR einen "Schreibvorgang" anzeigt, so wird der Logikausgang des Übertragungsrichtung festlegenden Flip-Flops DIR.F/F auf "1" gesetzt (siehe hierzu "1": WRITE in Fig. 4). Bei dem Schreibvorgang erfolgt ebenso wie bei dem voranstehend erwähnten Lesevorgang ein glatter Durchgang von Daten durch den FIFO-Speicher. Zur selben Zeit werden die Register MAR und FAR jeweils um +1 inkrementiert, wogegen das Register WCR um -1 dekrementiert wird, und zwar jedesmal dann, wenn eine Datenübertragung fertig ist. Die zugehörigen inkrementalen und dekrementalen Zählungen werden automatisch durch Hardware ausgeführt.

(4) Fig. 6B ist ein Flußdiagramm, welches eine Reihe von Betriebsabläufen zeigt, die durch eine Beendigungsunterbrechung erzeugt werden, die von der Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL) ausgegeben wird. Wenn die Übertragung einer vorbestimmten Menge von Daten beendet ist, so gibt die Schaltung IOCTL eine Beendigungsunterbrechung an den Mikroprozessor uP ab. Zu diesem Zeitpunkt können einige Übertragungsdaten noch nicht übertragen worden sein, und bleiben in dem Speicher FIFO. Nach einer Bestätigung, daß sich der FIFO-Speicher in dem Status "LEER" befindet, wird daher eine Unterbrechung an die Unterbrechungs-Steuerschaltung INTCTL ausgegeben, wodurch eine Reihe von Datenübertragungen vervollständigt wird.

In dem Schritt "c" von Fig. 6B wird ermittelt, ob die Beendigung der Steuerschaltung IOCTL normal ist (JA) oder nicht (NEIN). Ist die Beendigung normal, so folgt hierauf der Schritt "d". In dem Schritt "d" wird festgestellt, ob der Status des FIFO-Speichers LEER ist oder VOLL. Befindet sich das Speicher-FIFO in dem Status LEER, so folgt hierauf der Schritt "e".

In dem Schritt "e" wird in dem Gerätestatus-Register DSR ein normaler Unterbrechungsstatus eingestellt.

Daraufhin wird im Schritt "f " ein Befehl für eine Unterbrechung an die Unterbrechungs-Steuerschaltung INTCTL ausgegeben.

Wenn im Schritt "c" ermittelt wird, daß die Beendigung nicht normal ist, oder ein Fehler in dem gemeinsamen Bus C-BUS auftritt, so wird im Schritt "g" der Betrieb beendet. In dem Schritt "g" wird ein abnormer Unterbrechungsstatus in dem Gerätestatus-Register DSR eingestellt. In diesem Fall kann die Unterbrechung für den Beendigungsvorgang nicht unmittelbar durch eine Unterbrechungsanforderung ausgeführt werden, sondern durch einen sich ergebenden Zustand nach mehreren Aktivierungen der Schaltung IOCTL.

(5) Fig. 6C zeigt den Schritt, der erzeugt wird, wenn ein Fehler des gemeinsamen Busses (C-BUS) auftritt. Der Schritt "h" von Fig. 6C wird über Symbole * zu dem Schritt "g" von Fig. 6B geführt. Wenn irgendein Problem auf der Seite des gemeinsamen Busses C-BUS auftritt, so sind die zugehörigen internen Schaltungen wie beispielsweise der FIFO-Speicher klar. In diesem Fall läßt sich der Ort der Fehlerquelle durch eine Untersuchung des Inhalts der Register finden, beispielsweise MAR, WCR, usw. Es wird darauf hingewiesen, daß das Auftreten eines Problems an der Seite des gemeinsamen Busses C-BUS an sich unmittelbar durch die nachstehend beschriebene Diagnose-Überprüfung ermittelt werden kann.

(D) Erläuterung von Betriebsabläufen, die in dem IOC-System ablaufen (Fig. 3)

Wenn ein Startbefehl in der zentralen Steuereinheit CC erzeugt wird, so wird eine Folge erforderlicher Informationen in das Steuerregister REG eingeschrieben. In diesem Fall ist ein Schreibvorgang zum Befehlsregister CMR besonders wesentlich, da eine Unterbrechung des Mikroprozessors uP in dem Zustand auftritt, in welchem der voranstehend genannte Schreibvorgang stattfindet. Eine Leitung L1 in Fig. 3 zeigt einen Weg an, durch welchen der zugehörige Unterbrechungsbefehl an den Mikroprozessor uP übertragen wird.

Wenn die Unterbrechung auftritt, werden die Inhalte des Steuerregisters REG unter den Befehlen des Mikroprogramms ausgelesen, und dann erfolgte eine Analyse, was zu tun ist. Die Analyse erfolgt durch das ROM und das RAM. Entsprechend dem Ergebnis der Analyse wird, wenn der Mikroprozessor uP feststellt, daß die Eingabe/Ausgabe- Einheit IO gestartet werden muß, in diesem Beispiel die Magnetdisk-Einheit DKU gestartet.

Die Datenübertragung zwischen der auf diese Weise gestarteten Einheit DKU und dem gemeinsamen Bus C-BUS wird ohne Verwendung des internen Busses I-BUS durchgeführt, nämlich über den FIFO-Speicher. Der FIFO-Speicher wird üblicherweise, wie wohlbekannt ist, so verwendet, daß er zuerst Daten ausgibt, die zuerst eingegeben wurden. Die zuerst eingegebenen Daten werden in den FIFO-Speicher über den Selektor SEL eingegeben, wie aus den Fig. 3 und 3 hervorgeht. Die Datenübertragung zwischen der Einheit IO und dem FIFO-Speicher wird hauptsächlich durch die Eingabe/Ausgabe-Einheitssteuerschaltung IDMACTL für direkten Speicherzugriff gesteuert. Die Schaltung IDMACTL unterliegt den nachfolgend angegebenen Bedingungen. Hierbei wird darauf hingewiesen, daß zwar zuerst ein Startbefehl von dem Mikroprozessor uP ausgegeben wird, jedoch die Gesamtsteuerung tatsächlich entsprechend dem Status des FIFO-Speichers durchgeführt wird. Wenn sich der FIFO-Speicher in einem Status LEER befindet, wird zuerst die Eingabe/Ausgabe-Einheitssteuerschaltung IDMACTL gestartet, so daß die von der Magnetdisk-Einheit DKU gelesenen Daten in den FIFO-Speicher eingegeben werden. Umgekehrt wird, wenn sich der FIFO-Speicher nicht in einem Status LEER befindet, die Steuerschaltung DMACTL für direktspeicherzugriffs-Modus gestartet, so daß die gelesenen Daten in dem FIFO-Speicher an den gemeinsamen Bus C-BUS ausgegeben wurden. Wenn sich der FIFO-Speicher in einem Status nicht-VOLL befindet, wird durch den Ausgabevorgang die Steuerschaltung IDAMCTL erneut gestartet, so daß die nächsten, von der Einheit DKU ausgelesenen Daten in den FIFO-Speicher eingegeben werden. Daher werden hieraufhin zwei identische Betriebsabläufe wiederholt. Dies bedeutet, daß die gelesenen Daten in den FIFO-Speicher eingegeben werden, und die Steuerschaltung DMACTL gestartet wird in dem Moment, in welchem der FIFO- Speicher in einen Status nicht-LEER versetzt wird. Umgekehrt werden die gelesenen Daten von dem FIFO-Speicher ausgegeben, und in dem Moment, wenn der FIFO-Speicher in einen nicht-VOLL Status versetzt wird, wird die Steuerschaltung IDMACTL erneut gestartet. Daher werden die Übertragungsdaten kontinuierlich von einem Eingang an den FIFO-Speicher ausgegeben. In diesem Fall kann notwendigerweise ein Ungleichgewicht zwischen den gelesenen Datenmengen auftreten, die eingegeben und ausgegeben wurden, jedoch kann dieses Ungleichgewicht durch den FIFO-Speicher absorbiert werden. Die Fähigkeit für ein derartiges Aufnahmevermögen ist durch die Kapazität des FIFO-Speichers festgelegt. Je größer die Speicherkapazität ist, desto größer ist selbstverständlich das voranstehend erwähnte Aufnahmevermögen, und daher kann das Ungleichgewicht unberücksichtigt bleiben.

In Fig. 3 ist Gate GT3 beispielsweise ein Gate des offenen Kollektortyps, welches ein selektives Abschneiden zwischen der Seite des internen Busses I-BUS und der Seite des FIFO-Speichers ermöglicht, wie auch in Fig. 4 gezeigt ist. Weiterhin wird jedes Übertragungs-Gate GT so gesteuert, daß es selektiv öffnet und schließt, in Abhängigkeit davon, ob entweder der Schreibvorgang (eine Datenübertragung von dem gemeinsamen Bus C-BUS) oder der Lesevorgang (eine Datenübertragung zum gemeinsamen Bus C- BUS) erhalten werden soll. Weiterhin wird der

Mikroprozessor uP über eine Beendigungsunterbrechung von der Eingabe/Ausgabe-Einheitssteuerschaltung IOCTL informiert (siehe Fig. 6B), nämlich über eine Leitung L2.

(E) Erläuterung von Betriebsabläufen, die in dem IOC-System ablaufen (Fig. 4)

Das IOC-System gemäß der vorliegenden Erfindung zeichnet sich erstens durch einen Hochgeschwindigkeitsbetrieb und zweitens durch eine hohe Verläßlichkeit im Betrieb aus. Der Hochgeschwindigkeitsbetrieb wird dadurch erreicht, da die Datenübertragung hauptsächlich durch Hardware durchgeführt wird, wie aus Fig. 4 deutlich wird. Zuerst wird die Eingabe/Ausgabe-Einheit IO gestartet, also die Magnetdisk-Einheit DKU, über die Eingabe/Ausgabe- Einheitssteuerschaltung IOCTL, durch den Mikroprozessor uP, und ein Befehl zur Datenübertragung wird an die Einheit DKU ausgegeben. Unter der Annahme, daß der Befehl zur Datenübertragung einen Lesevorgang für Daten von der Magnetdisk-Einheit DKU angibt, werden die so gelesenen Daten dem FIFO-Speicher zugeführt. Die Daten werden über folgenden Weg zugeführt: Einheit DKU → Steuerschaltung IOCTL → Leitung L3 (über einen Pufferverstärker, der durch ein Dreieckssymbol bezeichnet ist) → Selektor SEL → Eingangsklemme Din. Mit dem voranstehenden Lesevorgang, der von der Schaltung IDMACTL befohlen wird, wird begonnen, wenn bestimmte Bedingungen erfüllt sind. Zuerst wird das die Übertragungsrichtung festlegende Flip-Flop DIR.F/F (entsprechend DIR an der Adresse 8001 in Fig. 5) auf den Logik-Wert "0" gesetzt, also READ (Lesen). Der Logik-Wert "0" von dem DSR.F/F wird an einen der Eingänge eines Gates G1 angelegt, und daher wird, wenn der Logik-Wert "0" auch an dessen anderen Eingang angelegt wird, das Gate G1 geöffnet. (Es wird darauf hingewiesen, daß jeder kleine Kreis, also o, eine logische Umkehrung bezeichnet, wie in sämtlichen späteren Figuren). Daher wird das Gate G1 geöffnet, wenn sich der FIFO-Speicher in einem Status nicht-VOLL befindet, wobei der zugehörige Eingang des Gates G1 über eine Leitung L4 an die Klemme FUL des FIFO- Speichers angeschlossen ist.

Wenn das Gate G1 geöffnet wird, so wird die Eingabe/Ausgabe-Einheitssteuerschaltung für direkten Speicherzugriff gestartet, über ein Gate G3, welches ein ODER-Gate ist, so daß von diesem ein Signal RD, also ein Lesebefehl, ausgegeben wird, und die Schaltung IOCTL wird durch das Signal RD dahingehend instruiert, daß sie in einem Lesemodus (R) arbeitet. Dann beginnt der Lesevorgang für Daten von der Einheit DKU. Ein Signal WT bezeichnet einen Schreibbefehl, der an die Schaltung IOCTL an deren Eingang W angelegt wird, der einen Schreibmodus repräsentiert.

Die auf diese Weise von der Magnetdisk-Einheit DKU gelesenen Daten werden dem FIFO-Speicher zugeführt, über die Leitung L3 und den Selektor SEL. Die Eingangsklemme S1 des SEL wird unter der Bedingung leitend gemacht, daß der Schreibvorgang nicht angegeben ist. Eine Eingangsklemme S3 des SEL ist über eine Leitung L5 zu der Schaltung IDMACTL geführt, und zwar zu deren Versorgungsklemme für ein Signal WT', also einen Schreibbefehl. In diesem Fall muß der FIFO-Speicher in dem Schreibmodus (W) betrieben werden. Diese Bedingung wird durch den Empfang des Befehlssignals WT' für einen Schreibvorgang erfüllt, welches den FIFO-Speicher an dessen einen Schreibmodus festlegender Klemme W zugeführt wird, über ein Gate G5, nämlich ein ODER-Gate.

Befindet sich der FIFO-Speicher nicht in dem Status VOLL, so werden die in dem FIFO-Speicher gespeicherten Lesedaten von seiner Ausgangsklemme Dout an den gemeinsamen Bus C-BUS ausgegeben. Während der Ausgabe der Lesedaten an den gemeinsamen Bus C-BUS muß der FIFO-Speicher zuerst in dem Lese-Modus (R) betrieben werden. Der Lese-Modus (R) wird dadurch eingestellt, daß zuerst die Schaltung DMACTL gestartet wird, und dann ein Befehlssignal RD für einen Lesevorgang angelegt wird, welches von der Schaltung DMACTL gesendet wird, und zwar an eine das Lesen festlegende Klemme R des FIFO-Speichers, über eine Leitung L7 und das Gate G4.

In dem voranstehenden Fall ist der Zustand, in welchem die Steuerschaltung DMACTL gestartet wird, der Zustand, in welchem drei Eingänge eines Gates G6, nämlich eines UND- Gates, sämtlich mit dem Logik-Pegel "0" versorgt werden, abgesehen von einem Eingang des Gates, der an das Flip- Flop DIR.F/F geführt ist. Der letztgenannte Eingang wird nunmehr mit logisch "0" versorgt, da nunmehr der Lesevorgang durchgeführt wird. In Folge des auf diese Weise geöffneten Gates G6 startet das Ausgangssignal von dem Gate G6 die Steuerschaltung DMACTL über ein Gate G9, nämlich ein ODER-Gate. Daher beginnt eine Übertragung der gespeicherten Daten von dem FIFO-Speicher zu dem gemeinsamen Bus C-BUS.

Die voranstehend erwähnten drei Eingänge des Gates G6, abgesehen von dem Eingang, der zu dem DSR.F/F geführt ist, werden mit drei Arten von Signalen versorgt. Das erste ist ein Zeitablaufsignal, welches von einem Zeit-Supervisor (TIMSV) über eine Leitung L9 ausgegeben wird, und welches einen Zeitablauf anzeigt, der auf den gemeinsamen Bus C- BUS auftritt. Das zweite ist ein Signal, welches LEER anzeigt, und wird über einen Leitung L10 von der Klemme EMP des FIFO-Speichers abgegeben. Das dritte ist ein Signal, welches anzeigt "WCR = 0", und wird von dem Register WCR in dem Steuerregister REG (Fig. 3) abgegeben. Durch den Empfang dieser Signale wird das Gate G6 geöffnet, wobei diese Signale angeben, daß erstens kein Zeitablauf auf dem gemeinsamen Bus C-BUS aufgetreten ist, daß sich zweitens der FIFO-Speicher nicht in dem Status LEER befindet, und daß drittens die Wortzählzahl (WCR) nicht Null ist. Der voranstehend erwähnte Zeitablauf auf dem gemeinsamen Bus bedeutet im einzelnen einen Zeitablauf eines Steuersignals SCTL welches der Seite des gemeinsamen Busses C-BUS zugeführt wird. Im einzelnen tritt der Zeitablauf in einem solchen Falle auf, in welchem trotz der Tatsache, daß die Steuerschaltung DMACTL eine Anforderung in Form des Signals SCTL zur Ausgabe der gespeicherten Daten in dem FIFO-Speicher an den gemeinsamen Bus C-BUS abgegeben hat, eine Reaktion hierauf von der zentralen Steuereinheit CC nicht erfolgte, obwohl eine vorbestimmte Zeit verstrichen ist.

Der Inhalt des Speicheradressen-Registers MAR wird um +1 unter Steuerung der Schaltung DMACTL inkrementiert, und zwar jedesmal dann, wenn gespeicherte Daten von dem FIFO- Speicher ausgelesen werden. Andererseits wird der Inhalt des Wortzählregisters WCR aufeinander folgend um -1 dekrementiert. Wenn der Inhalt des Registers WCR Null erreicht, so stoppt die Steuerschaltung DMACTL das Senden von Daten an den gemeinsamen Bus C-BUS. Dies erfolgt sowohl bei dem Schreibvorgang als auch bei dem Lesevorgang, und daher wird das Signal, welches "WCR = 0" anzeigt, nicht nur dem Gate G6 zugeführt, sondern auch einem Gate G7, nämlich einem UND-Gate. In diesem Fall ist ebenfalls Information erforderlich, welche den Status LEER des FIFO-Speichers anzeigt, abgesehen von der voranstehenden Information, welche "WCR = 0" anzeigt, um die Aktivierung der Steuerschaltung DMACTL zu lösen.

Entsprechend wird bei einem Schreibvorgang ein Wert, der einer Menge zu übertragender Daten entspricht, in dem Register WCR voreingestellt. Daher erreicht der Inhalt des Registers WCR zu diesem Zeitpunkt nicht den Wert Null, und eine Schreibanforderung für die Einheit DKU wird aufeinander folgend von der Seite des Eingabe/Ausgabe- Systems IOC ausgegeben, also einer Master-Seite in dem DMA-Modus, an die Seite der zentralen Steuereinheit CC, also einer Slave-Seite in dem DMA-Modus. Die voranstehend erwähnte Schreibanforderung für die Einheit DKU wird in dem Schreibmodus erzeugt, in welchem das die Übertragungsrichtung festlegende Flip-Flop DIR.F/F an seinem Eingang den Logik-Wert "1" zur Verfügung stellt, der an das Gate G7 angelegt wird, und das Gate G7 empfängt außer dem Logik-Wert "1" drei Arten von Signalen des Logik-Pegels "0" an seinen anderen drei Eingängen. Unter dieser Bedingung wird die Steuerschaltung DMACTL für den Schreibvorgang gestartet. Die drei Arten von Signalen zeigen erstens Information an, welche "WCR = 0" angibt, zweitens Information, welche den Status VOLL des FIFO- Speichers angibt, und drittens Information, welche ein erstes Bedingungssignal und/oder zweites Bedingungssignal anzeigt, welches von einem Gate G8 ausgegeben wird, nämlich einem ODER-Gate. Das erste Bedingungssignal bezieht sich auf den voranstehend erwähnten Zeitablauf des gemeinsamen Busses, und das zweite Bedingungssignal bezieht sich auf einen Paritätsfehler, der auf dem gemeinsamen Bus auftritt. Eine logische Inversion dieser drei Signale wird an das zugehörige Gate G7 angelegt. Der Ausgang von dem Gate G8 wird ebenfalls als eine Unterbrechungsinformation INT für den Mikroprozessor uP verwendet. Der voranstehend erwähnte Paritätsfehler auf dem gemeinsamen Bus wird als eine Information PE von einem Paritäts-Überprüfungsteil PTYCHK ausgegeben. Der Paritäts- Überprüfungsteil PTYCHK führt eine Paritäts-Überprüfung in bezug auf die Schreibdaten auf dem gemeinsamen Bus C-BUS aus, wobei diese Daten über eine Eingangsklemme 52 des Selektors SEL der Eingangsklemme Din des FIFO-Speichers zugeführt wurden sollen.

Wenn das Gate G8 geöffnet wird, so gibt die Steuerschaltung DMACTL das Befehlssignal WT für einen Schreibvorgang aus, welches über das Gate G5 dem FIFO- Speicher zugeführt wird, um diesen in den Schreibmodus (W) zu versetzen. Andererseits wird, solange sich der FIFO- Speicher nicht in dem Status LEER befindet, (also Daten in dem FIFO verbleiben), die Steuerschaltung DMACTL kontinuierlich gestartet, um das Befehlssignal WT für einen Schreibvorgang an die Steuerschaltung IOCTL abzugeben, um diese in den Schreibmodus (W) zu versetzen. Von dem Mikroprozessor uP wurde bereits über die Steuerschaltung IOCTL ein Schreibbefehl an die Magnetdisk- Einheit DKU abgegeben.

In Fig. 4 empfangen die Gates G6 und G7 weiterhin gemeinsam jenes Bit, welches das DMAEX anzeigt (siehe Adresse 8001 in Fig. 5), und weiterhin empfangen die Gates G1 und G2 zusammen das Bit, welches das IDMAEX anzeigt (siehe die Adresse 8001 in Fig. 5), und zwar an ihren jeweiligen Eingängen; es wird darauf hingewiesen, daß zur Vereinfachung diese Eingänge nicht dargestellt sind.

(F) Erläuterung des FIFO-Speichers (Fig. 7)

Der FIFO-Speicher ist als der Pufferspeicher bei der vorliegenden Erfindung wesentlich, und wird daher nachstehend im einzelnen beschrieben.

Die Bedeutung der Buchstaben Din, Dout, W, R, FUL und EMP wurde bereits unter Bezug auf Fig. 4 erläutert. Die Schreibdaten an der Klemme Din werden momentan in einem Speicher MEM gespeichert. Die auf diese Weise gespeicherten Daten werden seqentiell von den zuerst eingeschriebenen Schreibdaten ausgelesen und als Lesedaten an der Klemme Dout ausgegeben. Die Lese- und Schreibvorgänge zu diesem Zweck werden entsprechend jedem Adressensignal durchgeführt, welches von einem Multiplexer MPX geliefert wird. Der Multiplexer MPX erzeugt selektiv die beiden Ausgangssignale von einem schreibadressen-Zähler WAC und einem Lese-Adressenzähler RAC. Der Schreibadressenzähler WAC wird jedesmal dann um +1 inkrementiert, wenn das Befehlssignal WT für einen Schreibvorgang (Fig. 4) erzeugt wird, wogegen der Leseadressenzähler RAC jedesmal dann um +1 inkrementiert wird, wenn das Befehlssignal RD für einen Lesevorgang (Fig. 4) erzeugt wird, wodurch die korrespondierenden Daten in den Speicher eingeschrieben bzw. aus diesem herausgelesen werden. Wenn die Inhalte der Zähler RAC und WAC miteinander zusammenfallen, so erzeugt ein Komparator CMP ein Signal, an der Klemme FUL, welches den Status LEER anzeigt. Wenn der Inhalt des Zählers WAC gleich dem Inhalt des Zählers RAC -1 ist, also RAC -1 = WAC, so erzeugt der Komparator an der Klemme FUL ein Signal, welches den Status VOLL anzeigt. Von den Klemmen FUL und EMP wird so lange kein Ausgangssignal erzeugt, wie entweder der Status VOLL oder der Status LEER in den FIFO- Speicher erzeugt wird. Der Multiplexer MPX wird in dem sog. Zeitdivisions-Multiplexverfahren betrieben, um den Schreibvorgang und den Lesevorgang alternierend durchzuführen, wenn die Schreib- und Lesevorgänge kollidieren könnten.

(G) Erläuterung des Diagnostik-Modus (Fig. 8A bis 8C)

Wie voranstehend erwähnt, kann das IOC-System gemäß der vorliegenden Erfindung mit hoher Geschwindigkeit arbeiten, da die Datenübertragung hauptsächlich automatisch durch die Verwendung von Hardware gesteuert wird. Es ist allerdings nicht einfach, die Quelle einer Störung zu ermitteln, wenn ein derartiges Problem auftritt. Das geschieht deswegen, da der zwischen die Einheiten CC und IO eingeklemmte Abschnitt leer zu sein scheint, in Folge der automatischen Datenübertragungssteuerung durch die Hardware. Um diesem zu begegnen, wird weiterhin der Diagnose-Überprüfungsabschnitt DIGC (Fig. 3) in das IOC- System gemäß der vorliegenden Erfindung eingebaut, wodurch ein spezieller Diagnostik-Modus eingerichtet wird, um die Quelle irgendeines Fehlers zu ermitteln.

Fig. 8A ist eine schematische Gesamtansicht zur Erläuterung der Diagnoseüberprüfung in bezug auf den FIFO- Speichern. Dies bedeutet, daß Fig. 8A einen Diagnostik- Modus für den FIFO-Speicher zeigt. In dem Diagnostik-Modus werden die voranstehend erwähnten Befehle für Datenübertragung, die durch den FIFO-Speicher durchgeführt wird, angehalten. Diese Befehle werden von den Steuerschaltungen DMACTL und IDMACTL abgegeben. Es wird darauf hingewiesen, daß die Schaltungen DMACTL und IDMACTL nicht in Fig. 8A dargestellt sind. Daher werden beide Einheiten CC und IO von dem FIFO-Speicher abgeschnitten.

Daraufhin werden vorbestimmte Diagnose-Überprüfungsdaten DD über einen Weg I in den FIFO-Speicher eingeschrieben, unter Steuerung eines Mikroprogramms durch den Mikroprozessor uP. Die Daten DD können vorher in dem ROM (Fig. 3) gespeichert werden. Die auf diese Weise eingeschriebenen Daten DD werden dann ausgelesen und über einen Weg 55 an den Mikroprozessor uP geschickt. Wenn in dem FIFO-Speicher kein Problem existiert, so werden die Daten DD auf korrekte Weise an den Mikroprozessor uP zurückübertragen.

Fig. 8B zeigt eine schematische Gesamtansicht zur Erläuterung der Diagnoseüberprüfung in bezug auf sowohl das Speicher-FIFO als auch die Einheit IO. Dies bedeutet, daß Fig. 8B einen Diagnose-Modus sowohl für das FIFO als auch das IO zeigt. In dem Diagnostik-Modus stoppt die Schaltung DMACTL die Ausgabe des voranstehend erwähnten Befehls für Datenübertragung an den FIFO-Speicher, und daher arbeitet nur die Schaltung IDMACTL wie gewöhnlich. Es wird darauf hingewiesen, daß nur die Schaltung IDMACTL in Fig. 8B dargestellt ist. Daher wird zuerst die zentrale Steuereinheit CC sowohl von dem FIFO-Speicher als auch der Eingabe/Ausgabe-Einheit IO abgeschnitten.

Nunmehr werden unter Steuerung durch ein Mikroprogramm von dem Mikroprozessor uP vorbestimmte Diagnose- Überprüfungsdaten DD über einen Weg I in den FIFO-Speicher eingeschrieben, wieder aus dem FIFO-Speicher ausgelesen, und über einen Weg II in die Eingabe/Ausgabe-Einheit IO eingeschrieben. Die auf diese Weise in die Einheit IO eingeschriebenen Daten DD werden über einen Weg III gelesen, in den FIFO-Speicher eingeschrieben, und hieraus wieder ausgelesen, um dann erneut über einen Weg SV an den Mikroprozessor uP geschicht zu werden. Wenn keine Probleme existieren, weder in dem FIFO-Speicher noch in der Einheit IO, so werden die Daten DD korrekt an den Mikroprozessor uP zurückgegeben. Wenn die Daten DD nicht korrekt zurückgegeben werden, so wird festgestellt, daß ein Fehler in dem FIFO-Speicher und/oder der Einheit IO auftritt, und es wird ein Alarm von dem Mikroprozessor uP ausgegeben, um gegen das Auftreten eines Fehlers zu warnen.

In dem voranstehend geschilderten Fall muß eine weitere Untersuchung durchgeführt werden um festzustellen, ob das Problem in dem FIFO-Speicher oder in der Einheit IO aufgetreten ist. Ist der FIFO-Speicher normal, so wird beurteilt, daß das Problem in der IO-Einheit existiert. Wenn umgekehrt der FIFO-Speicher nicht normal ist, so ist es möglich, daß der Fehler sowohl in dem FIFO-Speicher als auch in der IO-Einheit existiert. In diesem Fall ist es erforderlich, zuerst den FIFO-Speicher zu reparieren, und dann zu ermitteln, ob die IO-Einheit abnorm ist oder nicht. Es wird darauf hingewiesen, daß der Diagnostik- Modus für den FIFO-Speicher, der voranstehend unter Bezug auf Fig. 8A erwähnt wurde, für die Untersuchung eingesetzt werden kann, ob der FIFO-Speicher normal oder abnorm ist.

Fig. 8C stellt eine schematische Gesamtansicht zur Erläuterung der Diagnose-Überprüfung in bezug auf sowohl den FIFO-Speicher als auch den gemeinsamen Bus C-BUS dar. Dies bedeutet, daß Fig. 8C einen Diagnose-Modus für sowohl den FIFO-Speicher als auch den C-BUS zeigt. In dem Diagnose-Modus stoppt die Schaltung IDMCTL die Ausgabe des voranstehend erwähnten Befehls für eine Datenübertragung an den FIFO-Speicher, und daher arbeitet nur die Schaltung DMACTL wie gewöhnlich. Es wird darauf hingewiesen, daß nur die Schaltung DMACTL in Fig. 8C dargestellt ist. Daher wird zuerst die Eingabe/Ausgabe-Einheit IO sowohl von dem FIFO-Speicher als auch der zentralen Steuereinheit abgeschnitten.

Dann wird unter Steuerung des Mikroprogramms von der zentralen Steuereinheit CC ein Einschreiben vorbestimmter Diagnose-Überprüfungsdaten DD über eine Route I in den FIFO-Speicher durchgeführt, ein erneutes Auslesen aus den FIFO-Speicher, und ein Zurückholen durch den Mikroprozessor uP über einen Weg 51. Die von dem Mikroprozessor uP geholten Daten werden über einen Weg III von dem FIFO-Speicher gelesen und in diesen eingeschrieben. Die so eingeschriebenen Daten werden erneut über einen Weg IV von der zentralen Steuereinheit CC ausgelesen. Wenn kein Problem existiert, weder in dem FIFO-Speicher noch dem gemeinsamen Bus C-BUS, so werden die Daten DD korrekt an die zentrale Steuereinheit CC zurückgegeben. Werden die Daten nicht korrekt zu ihr zurückgeführt, so wird festgelegt, daß ein Problem in dem FIFO-Speicher und/oder dem gemeinsamen Bus C-BUS existiert. Dann wird ein Alarm von der zentralen Steuereinheit CC ausgegeben, um vor dem Auftreten des Problems zu warnen.

In dem voranstehend geschilderten Fall muß eine weitere Untersuchung in der Hinsicht erfolgen, ob das Problem in dem FIFO-Speicher oder in dem gemeinsamen Bus C-BUS aufgetreten ist. Ist der FIFO-Speicher normal, so wird beurteilt, daß das Problem in dem gemeinsamen Bus C-BUS existiert. Wenn umgekehrt der FIFO-Speicher abnorm ist, so ist es möglich, daß das Problem sowohl in dem FIFO- Speicher als auch in dem gemeinsamen Bus C-BUS existiert. In diesem Fall ist es erforderlich, zuerst den FIFO- Speicher zu reparieren, und dann zu ermitteln, ob der gemeinsame Bus C-BUS abnorm ist oder nicht. Es wird darauf hingewiesen, daß der voranstehend in bezug auf die Fig. 8A erwähnte Diagnose-Modus für den FIFO-Speicher für die Untersuchung eingesetzt werden kann, ob der FIFO-Speicher normal oder abnorm ist.

Fig. 9 erläutert eine schematische Gesamtansicht zur Erklärung eines Datenbearbeitungs-Modus durch den Mikroprozessor uP. In dem patenbearbeitungs-Modus werden die Übertragungsdaten TD, die von der zentralen Steuereinheit CC bereitgestellt werden, durch den Mikroprozessor uP bearbeitet, und die auf diese Weise bearbeiteten Daten werden als bearbeitete Daten td in die IO-Einheit eingeschrieben. In dem Bearbeitungsmodus arbeiten beide Schaltungen DMACTL und IDMACTL wie gewöhnlich. In diesem Fall können die bearbeiteten Daten td als Verschlüsselungsdaten verwendet werden, damit sie geheim bleiben.

Zuerst werden Übertragungsdaten TD, die geheim bleiben sollen, von der zentralen Steuereinheit CC über einen Weg I bereitgestellt, um unter Steuerung durch die Schaltung DMACTL in den FIFO-Speicher eingeschrieben zu werden. Daraufhin werden die so eingeschriebenen Daten von dem FIFO-Speicher ausgelesen und über einen Weg II an den Mikroprozessor uP geschickt. Der Mikroprozessor uP stellt eine vorbestimmte Bearbeitung für die gegebenen Daten zur Verfügung, und dann werden die so bearbeiteten Daten td über einen Weg III in den FIFO-Speicher eingeschrieben. Die Daten td werden hieraus ausgelesen und in die IO- Einheit über einen Weg IV unter Steuerung der Schaltung IDMACTL eingeschrieben. Auf diese Weise können die Verschlüsselungsdaten in der IO-Einheit gespeichert werden.

(H) Erläuterung des Diagnose-Überprüfungsteils DIGC (Fig. 10)

Fig. 10 stellt ein Beispiel für ein detailliertes Schaltbild des Diagnose-Überprüfungsabschnitts (DIGC) dar, der mit den FIFO-Speicher zusammenarbeit. In Fig. 10 sind die Bedeutungen der Buchstaben C-BUS, E-BUS, I-BUS, SEL, FIFO, IDMACTL und DMACTL identisch wie bei der voranstehenden Beschreibung. Auch die Buchstaben "DIR", "IDMAEX" und "DMAEX" wurden bereits in bezug auf die Adresse 8001 von Fig. 5 erläutert. Das Ausgangssignal "DIR" wird von dem Flip-Flop F/F erzeugt, welches durch ein Doppelkreis-Symbol unten im Zentrum in Fig. 4 repräsentiert wird. Tatsächlich allerdings besteht es aus drei Sätzen von Flip-Flops, die durch den Buchstaben F/F bezeichnet werden. Das Flip-Flop F/F ist mit drei D- Eingängen versehen, also D&sub0;, D&sub1; und D&sub2;, und mit drei Q- Ausgängen, also Q&sub0;, Q&sub1; und Q&sub2;. Der Ausgang Q&sub0; erzeugt die Information DIR, welche die Übertragungsrichtung festlegt, der Ausgang Q&sub1; erzeugt Information zur Anregung der Eingabe/Ausgabe-Einheitssteuerschaltung IDMACTL mit direktem Speicherzugriff, und der Ausgang Q&sub2; erzeugt eine Information zur Anregung der Steuerschaltung DMACTL für den Direktzugriffs-Modus. Die Information DMAEX für die Anregung gibt einen Befehl aus, um zu entscheiden, ob die Datenübertragung zwischen dem FIFO und dem C-BUS (einschließlich des CC) ausgeführt werden muß oder nicht. Im einzelnen wird die Steuerschaltung DMACTL angeregt, wenn die Information DMAEX den Logik-Pegel "1" annimmt, und wenn die Information IDMAEX den Logik-Pegel "1" annimmt, so wird die Steuerschaltung IDMACTL angeregt. Es ist wesentlich, daß der DIGC-Abschnitt zur Anregung durch diesen Satz von Informationen gesteuert wird. Wenn beispielsweise der Lesevorgang ausgeführt wird, also die Datenübertragung von der IO-Einheit an den FIFO-Speicher, so nimmt die Übertragungsrichtungs-Festlegungsinformation DIR den Logik-Pegel "0" an, wie voranstehend erwähnt. Zu diesem Zeitpunkt ist eine der Bedingungen zum Öffnen beider Gates G21 und G22 erfüllt. Die Gates G21 und G22, die jeweils ein UND-Gate sind, entsprechen den voranstehend erwähnten Gates G6 und G1 von Fig. 4. Weiterhin wird von dem Gate G22 eine Schreibanforderung WREQ1 an die Steuerschaltung IDMACTL angelegt, wenn die Bedingungen erfüllt sind, daß sich der FIFO-Speicher nicht in dem Status VOLL befindet, und auch die Information für die Anregung von IDMAEX wird auf Logisch "1" gesetzt. Hierdurch werden die von der Einheit IO gelesenen Daten dem FIFO-Speicher zugeführt.

Weiterhin wird das Gate G21 geöffnet, wenn die Bedingungen erfüllt sind, daß die Information DIR auf logisch "0" liegt, sich der Speicher FIFO nicht in dem Status LEER befindet, und die Information für die Anregung von DMAEX den Logik-Wert "1" annimmt, so daß eine Leseanforderung RREQ2 an die Steuerschaltung DMACTL ausgegeben wird. Hierdurch werden die in den FIFO-Speicher gespeicherten Daten aus diesem ausgelesen und an den gemeinsamen Bus C- BUS geschickt.

Wenn andererseits der Schreibvorgang ausgeführt wird, also die Datenübertragung von dem FIFO-Speicher an die IO- Einheit, so nimmt die Information DIR zur Festlegung der Übertragungsrichtung den Logik-Wert "1" an, wie voranstehend erwähnt. Zu diesem Zeitpunkt ist eine der Bedingungen zum Öffnen beider Gates G20 und G23 erfüllt. Die Gates G20 und G23, die jeweils als UND-Gate ausgeführt sind, entsprechen den voranstehend erwähnten Gates G2 und G7 von Fig. 4. Weiterhin wird eine Schreibanforderung WREQ2 von dem Gate G23 an die Steuerschaltung DMACTL angelegt, wenn die Bedingungen erfüllt sind, daß sich der FIFO-Speicher nicht in dem Status VOLL befindet, und auch die Information für die Anregung von DMAEX den Logik-Pegel "1" aufweist. Hierdurch werden die Übertragungsdaten von dem gemeinsamen Bus C-BUS dem FIFO-Speicher zugeführt.

Weiterhin wird das Gate G20 geöffnet, wenn die Bedingungen erfüllt sind, daß die Information DIR den Logik-Pegel "1" hat, sich der Speicher FIFO nicht in dem Status LEER befindet, und die Information für die Anregung von IDMAEX den Logik-Pegel "1" annimmt, so daß eine Leseanforderung RREQ1 an die Steuerschaltung IDMACTL ausgegeben wird. Hierdurch werden die in dem FIFO-Speicher gespeicherten Daten aus diesem ausgelesen und an die IO-Einheit geschickt.

Daher werden verschiedene Anforderungen, also RREQ1, RREQ2, usw. dadurch erzeugt, daß die Ausgänge des Flip- Flops F/F usw. verwendet werden. Das Flip-Flop F/F wird an seinem Takteingang CK mit dem Ausgangssignal von einem Gate G24 versorgt, welches ein UND-Gate ist. Das Gate G24 legt den Taktimpuls an den Eingang CK jedesmal dann an, wenn der Schreibbefehl "WRITE" von dem Mikroprozessor uP ausgegeben wird, wobei der Befehl zuerst in das Register REG (Fig. 5) an seiner Adresse eingeschrieben wird, beispielsweise 8001. Weiterhin werden jeweilige Befehle über den internen Bus I-BUS gegeben und an die D-Eingänge D&sub0;, D&sub1; und D&sub2; angelegt.

Der Lesevorgang aus dem FIFO-Speicher wird jedesmal dann durchgeführt, wenn ein Lesebefehl "READ" von dem Mikroprozessor uP ausgegeben und in dem Register REG (Fig. 5) an dessen Adresse 8000 eingestellt wird. Im einzelnen wird unter den Gates G30 bis G35 (siehe die linke Seite von Fig. 10), die jeweils ein UND-Gate sind, das Gate G35 geöffnet. (Wenn der Schreibbefehl "WRITE" ausgegeben wird, wird das Gate 30 geöffnet.). Dann gelangt das Ausgangssignal von dem Gate G35 durch ein Gate G42 (entsprechend dem Gate G4 von Fig. 4), unter den Gates G40 bis G42, die jeweils ein ODER-Gate sind, so daß der Speicher FIFO in dem Lese-Modus (R) betrieben wird. Zu diesem Zeitpunkt wird notwendigerweise auch ein Gate G50 (an der rechten unteren Seite des FIFO-Speichers gezeigt) geöffnet, um ein Gate G51, also ein Übertragungsgate, in den aktiven Zustand zu versetzen, und hierdurch wird ein Übertragungsweg leitend gemacht, der zu dem internen Bus I-BUS führt. Andererseits wird ein Übertragungsweg, der zu dem externen Bus E-BUS führt, durch ein Gate G52 leitend gemacht, also ein Übertragungs-Gate, welches durch die Information für die Anregung von IDMAEX aktiviert wird. Es wird darauf hingewiesen, daß während des Lesevorgangs in dem gewöhnlichen DMA-Übertragungsmodus beide Gates G33 und G34 geöffnet sind, nämlich durch eine Leseanforderung IDMARD bzw. eine Leseanforderung DMARD. Diese Anforderungen IDMARD und DMARD (entsprechend den in Fig. 4 gezeigten Signalen RD' und RD) werden von der Steuerschaltung IDMACTL bzw. DMACTL abgegeben. Daher bilden diese Gates G33 und G34 zusammen mit dem Gate G42 das in Fig. 4 gezeigte Gate G4.

Der Vorgang des Einschreibens in den First-In/First-Out- Speicher FIFO wird jedesmal dann durchgeführt, wenn ein Schreibbefehl "WRITE" von dem Mikroprozessor uP ausgegeben und in dem Register REG (Fig. 5) an seiner Adresse 8000 eingestellt wird. Das Schreibbefehls-Bit wird an ein Gate G60 (ein UND-Gate) angelegt, und aktiviert ein Gate G61 (Übertragungsgate), um einen Übertragungsweg von dem I-BUS leitend zu machen. Währenddessen wird ein Übertragungsweg, der zu dem externen Bus E-BUS führt, durch ein Gate G62 leitend gemacht, also ein Übertragungsgate, welches durch die Information zur Anregung von IDMAEX aktiviert wird. Es wird darauf hingewiesen, daß während des Schreibvorgangs in dem gewöhnlichen DMA-Übertragungsmodus beide Gates G31 und G32 geöffnet werden, nämlich durch eine Schreibanforderung IDMAWT bzw. eine Schreibanforderung DMAWT. Diese Anforderungen IDMAWT und DMAWT (entsprechend in Fig. 4 gezeigten Signalen WT' und WT) werden von der Steuerschaltung IDMACTL bzw. DMACTL abgegeben. Daher bilden diese Gates G31 und G32 zusammen mit dem Gate G41 das in Fig. 4 gezeigte Gate G5.

Bei den voranstehend erwähnten Beschreibungen wird angenommen, daß das grundlegende Konzept der vorliegenden Erfindung von einem Fachmann auf diesem Gebiet ausreichend verstanden werden kann. Allerdings werden nachstehend noch zusätzliche Erläuterungen geben, um das IOC-System gemäß der vorliegenden Erfindung noch weiter zu verdeutlichen, und zwar durch Beschreibung detaillierter Beispiele des Systems.

Die Fig. 11A und 11B zeigen Zeitablauf-Diagramme zur Erläuterung einer Informationsübertragung, die auf dem gemeinsamen Bus C-BUS durchgeführt wird. Wie aus diesen Figuren hervorgeht, wird die Informationsübertragung zwischen einem Master-Gerät M und einem Slave-Gerät S zu jedem Zeitpunkt durchgeführt. Die Übertragung wird zu jedem Zeitpunkt von dem Master-Gerät M befohlen, und wenn die zentrale Steuereinheit CC als das Master-Gerät M arbeitet, so ist dies als eine Übertragung im Programm- Modus (PM) bekannt, und wenn das IOC-System als das Slave- Gerät S arbeitet, ist dies als Übertragungsmodus im direkten Speicherzugriff (DMA) bekannt.

Wenn ein Gerät, welches von dem Bus C-BUS zur Verfügung gestellt wird, als das Master-Gerät M arbeitet, so ist es erforderlich, eine Sequenz durchzuführen, um ein Busaktivierungsrecht zu erhalten. Dies ist nicht besonders wesentlich, und daher erfolgt keine weitere Erläuterung.

Die Informationsübertragung von dem Master-Gerät M (nachstehend einfach Master M) an das Slave-Gerät (nachstehend einfach Slave S) also M → S, wird wie folgt ausgeführt.

(1) Der Master M gibt ein Signal BBSY aus mit einem Logik-Pegel "1", welches anderen Geräten anzeigt, daß der Bus nun aktiviert wird, also ein Bus-Besetzt- Signal.

(2) Der Master M gibt an die Adressen-Bits 2&sup0; bis 2¹&sup5; eine Adresse des Steuerregisters REG in dem IOC-System aus, unter dem PM, und eine Adresse eines Speichers innerhalb der CC, in dem DMA. Zur selben Zeit wird eine Datenparität auf einer Paritätsleitung PTY ausgegeben.

(3) Der Master M gibt Information zu Daten-Bits 2º bis 2¹&sup5; aus.

(4) Der Master M setzt ein Signal WSRVI auf logisch "1", so daß der Slave S darüber informiert wird, daß die Information dem C-BUS zugeführt wird; dieses Signal ist das sog. Schreib-Service-Hinein-Signal.

(5) Wenn der Slave S feststellt, daß der Logik-Pegel des Signals WSRV "1" ist, so empfängt er die Daten und speichert diese in einem Abschnitt, der durch die Adressen-Bits festgelegt wird. Dieser Abschnitt ist das Register REG in dem PM, und ist der DMA-Speicher in dem DMA. Zum selben Zeitpunkt setzt der Slave S eine Leitung SRVO auf logisch "1"; diese Leitung ist die sog. Service-Heraus-Leitung.

(6) Wenn der Master M feststellt, daß der Logik-Pegel des Signals WSRVI auf "1" liegt, stoppt er das Senden sowohl der Adressen als auch der Daten, und ändert den Logik-Pegel des Signals BBSY auf "0".

Die Informationsübertragung von dem Slave S an den Master M, also S → M, wird wie nachstehend gezeigt ausgeführt.

(1) Der erste Schritt ist identisch zu dem in dem voranstehenden Paragraphen (1) in dem Falle von "M → S" angegebenen Schritt.

(2) Der zweite Schritt ist ebenfalls identisch mit dem Schritt, der in dem voranstehenden Paragraphen (2) in dem Falle von "M → S" angegeben ist.

(3) Der Master M setzt den Logik-Pegel eines Signals RSRVI auf "1", um den Slave S anzuweisen, die Information an den C-BUS zu senden. Dieses Signal ist das sog. Lese-Service-Hinein-Signal.

(4) Wenn der Slave S feststellt, daß das Signal RSRVI den Logik-Pegel "1" annimmt, so liest er Information aus einem Abschnitt aus, der durch die Adresse auf der Adressenleitung festgelegt ist, und sendet diese dann an den C-BUS.

(5) Der Slave S ändert den Logik-Pegel eines Signals SRVO auf "1", wodurch angezeigt wird, daß die Information den C-BUS zugeführt wird. Dieses Signals ist das sog. Service-Heraus-Signal.

(6) Wenn der Master M feststellt, daß das Signal SRVO den Logik-Pegel "1" annimmt, so empfängt er die Daten und ändert den Logik-Pegel des Signals RSVRI auf "0", so daß die Bereitstellung sowohl der Adresse als auch der Daten gestoppt wird. Dann wird das Signal BBSY auf den Logik-Pegel "0" abgeändert.

Fig. 12 zeigt eine Adressentabelle, die in dem Eingabe/Ausgabe-Steuersystem (IOC) festgelegt ist. Es wird darauf hingewiesen, daß diese Adressentabelle grundsätzlich identisch mit der in der vorangehenden Fig. 5 gezeigten Tabelle ist, jedoch ist die Adressentabelle von Fig. 12 in bezug auf die von Fig. 5 teilweise abgeändert, um das Verständnis des nachfolgend beschriebenen Beispiels zu erleichtern. Die Änderungen sind folgende. In Fig. 12 sind die Adressen 4004 und 4005 mit mehr Einzelheiten gezeigt, um das IOCTL-Steuerregister zu erläutern. Die Adresse 8001 von Fig. 5 ist an der Adresse 4001 von Fig. 12 eingestellt. Die Adresse "FIFO" von Fig. 5 ist an der Adresse 4003 von Fig. 12 eingestellt. Das voranstehend erwähnte IOCTL- Steuerregister wird nachstehend erläutert, und besteht aus einem Register STR, einem Register IMCTR, und einem DFIFO- Speicher. Das Register STR arbeitet als ein IOCTL- Statusregister, welches den Mikroprozessor uP über verschiedene Statusarten in dem IOCTL informiert. Das Register ICMR arbeitet als ein IOCTL-Befehlsregister. Wenn ein Befehl in diesem Register eingestellt ist, so beginnt das IOCTL einen Vorgang, der von dem so eingestellten Befehl befohlen wird. Der DFIFO-Speicher ist ein Daten- FIFO-Speicher, der dazu verwendet wird, einen Befehlsparameter einzustellen, der den zugehörigen Befehl ergänzt. Alternativ wird der DFIFO-Speicher als ein FIFO- Speicher geringer Kapazität benutzt, der zur Datenübertragung eingesetzt wird und eine Kapazität von beispielsweise 8 Byte aufweist.

Die Eingabe/Ausgabe-Einheitssteuerschaltung IOCTL beginnt mit den folgenden Schritten:

(1) Der Befehlsparameter wird in den DFIFO-Speicher eingeschrieben, der für die Ausführung des zugehörigen Befehls erforderlich ist.

(2) Der Befehl wird in das ICMR eingeschrieben.

(3) Eine entsprechende Unterbrechung wird erzeugt, wenn der durch den Befehl festgelegte Betriebsablauf endet.

(4) Nach Feststellung der Unterbrechung wird der Inhalt des STR gelesen, um zu ermitteln, ob der Vorgang normal oder abnorm geendet hat.

Es wird darauf hingewiesen, daß in Fig. 12 der Buchstabe W gezeichnet, daß durch Verwendung eines Mikroprogramms ein Schreibvorgang möglich ist, und R bezeichnet, daß durch Verwendung eines Mikroprogramms ein Lesevorgang möglich ist.

Wenn ein Befehl in das ICMR eingeschrieben wird, so arbeitet das IOCTL so, daß es einen Befehlsparameter von dem DFIFO liest, und beginnt dann den zugehörigen Vorgang. Nach Beginn des Vorgangs wird das IDMACTL über ein Einschreiben von Daten in das IOCTL und ein Einlesen von Daten aus dem IOCTL informiert, durch Setzen eines Signals DREQ auf den Logik-Pegel "1" von dem IOCTL. Das Signal DREQ ist das sog. Datenanforderungssignal.

Fig. 13A zeigt ein Beispiel einer Bit-Anordnung zur Einstellung des Registers (STR), Fig. 13B zeigt ein Beispiel einer Bit-Anordnung zur Einstellung des Registers (ICMR). Beide Register STR und ICMR sind an der Adresse 4004 in der Tabelle von Fig. 12 eingerichtet. In Fig. 13A gezeichnet CB eine besetzte Steuerschaltung, und sowohl CEH als auch CEL bezeichnen ein Befehlsende. Das Bit CW gibt an, daß das IOCTL einen Befehl ausführt. Das Bit CB nimmt den Logik-Pegel "1" an, wenn der Befehl beginnt, und wird auf "0" geändert, wenn die Befehlsausführung beendet ist. In den Befehlsende-Bits CEH und CEL geben die Zustände CEH = "0" und CEL = "0" an, daß der Befehl ausgeführt wird, und alternativ, daß kein Befehl ausgegeben wird; die Zustände CEH = "0" und CEL = "1" geben an, daß der Betriebsablauf abnorm geendet hat; die Zustände CEH = "1" und CEL = "0" geben an, daß der Betriebsablauf normal geendet hat, und die Zustände CEH = "1" und CEL = "1" geben an, daß der Befehl ungültig ist. In Fig. 13B werden die Bits ICMD dazu verwendet, einen IOCTL-Befehl dort einzustellen.

Fig. 14 ist eine teilweise Perspektivansicht der Magnetdisk-Einheit (DKU). Auf Fig. 14 wird zur Erläuterung der nachstehenden Tabelle verwiesen.

Tabelle
BEFEHL BETRIEBSABLAUF BEFEHL (hexadezimale Notation) BEFEHLS-PARAMETER LESEDATEN DATENTEIL DES ANGEGEBENEN SEKTORS WIRD GElESEN UND AN DEN HOST GESCHICKT BO CN HN SN SCNT SCHREIBDATEN DATEN VOM HOST WERDEN IN ANGEGEBENEN SEKTOR EINGESCHRIEBENEN FO CN HN SN SCNT

Die voranstehende Tabelle zeigt ein Beispiel für Befehle und Befehlsparameter. In der Tabelle bezeichnet CN eine Zylinderzahl, HN eine Kopfzahl, SN eine Sektorzahl, und SCNT eine Anzahl der Sektoren.

Fig. 15 erläutert einen Verbindungsbereich für den gemeinsamen Bus von Fig. 4 mit mehr Einzelheiten. Der gemeinsame Bus C-BUS besteht hauptsächlich aus einer Adressenleitung, einer Datenleitung und einer Steuerleitung. Es wird darauf hingewiesen, daß Teile weggelassen sind, die sich auf den Programm-Modus (PM) beziehen, da Fig. 15 Teile zeigt, die in bezug auf die vorliegende Erfindung von Belang sind. Die DMA-Übertragung zwischen dem Bus C-BUS und dem Speicher FIFO wird durch das Signal WREQ2 oder RREQ2 (Fig. 10) gestartet, welches von der Peripherie des FIFO-Speichers abgegeben wird. Wenn durch das voranstehend erwähnte Signal die Schaltung DMACTL gestartet wird, so beginnt die Informationsübertragung, die unter Bezug auf die Fig. 11A und 11B erläutert wurde, mit ihrer Ausführung. Eine detaillierte Erläuterung des betreffenden Betriebsablaufs wird nachstehend gegeben.

Fig. 16 erläutert Peripherie-Einheiten des FIFO-Speichers. Es wird darauf hingewiesen, daß die Peripherie-Einheiten von Fig. 16 so angeordnet sind, daß sie an die Steuerregister angepaßt sind, die sich auf den FIFO- Speicher beziehen, die den Adressen 4000, 4001 und 4003 der Adressentabelle zugeordnet sind, die in Fig. 12 gezeigt ist. Die Schreib/Lese-Zuordnung an der Adresse 4001 wird über den Bus des Mikroprozessors (uP) durchgeführt, der als "BUS" in Fig. 16 dargestellt ist. Andererseits wird die Schreib/Lese-Zuordnung an der Adresse 4003 über den internen Bus I-BUS von Fig. 16 durchgeführt.

In Fig. 16 stellen die Signale "WRITE" und "READ" Befehle zum Schreiben und Lesen dar, die von dem Mikroprozessor uP ausgegeben werden. Die Adressensignale, welche 4000, 4001 und 4003 anzeigen, werden dadurch gebildet, daß die von dem Mikroprozessor uP ausgegebenen Adressen dekodiert werden. Signale DMAWT und DMARD repräsentieren Befehle für das Schreiben und Lesen, die von der Steuerschaltung DMACTL abgegeben werden. Signale IDMAWT und IDMARD repräsentieren Befehle für das Schreiben und Lesen, die von der Steuerschaltung IDMACTL abgegeben werden. Die Übertragungsanforderungssignale, also WREQ1, WREQ2, RREQ1 und RREQ2 werden selektiv erzeugt, entsprechend dem internen Status des FIFO-Speichers und dem Inhalt des Steuerregisters an der Adresse 4001.

Fig. 17 erläutert Peripherie-Einheiten der Schaltung IOCTL. Es wird darauf hingewiesen, daß die Peripherie- Einheiten von Fig. 16 so angeordnet sind, daß sie an das Steuerregister angepaßt sind, welches sich auf die Schaltung IOCTL bezieht, die den Adressen 4004 und 4005 der in Fig. 12 gezeigten Adressentabelle zugeordnet ist. Die Schreib/Lese-Zuordnungen an den Adressen 4004 und 4005 werden über den Bus I-BUS vorgenommen, der über einen bidirektionalen Treiber mit dem Bus BUS verbunden ist.

In Fig. 17 repräsentieren Signale "WRITE" und "READ" Befehle für das Schreiben und Lesen, die von dem Mikroprozessor uP ausgegeben werden. Die Adressensignale, welche 4003, 4004 und 4005 anzeigen, werden durch Dekodieren der von dem Mikroprozessor uP abgegebenen Adressen gebildet. Die Terme WREQ1 und RREQ1 sind Übertragungsanforderungen zum Starten der Schaltung IDMACTL, die von der Peripherie des in Fig. 16 gezeigten FIFO-Speichers abgegeben werden.

Die Schaltung IOCTL wird gestartet, wenn der Befehl und die Befehlsparameter in die Adressen 4004 und 4005 eingeschrieben werden. Die DMA-Übertragungsanforderung wird durch Starten des IOCTL erzeugt, so daß das IOCTL den Logik-Pegel des Bits "DREQ" auf "1" setzt. Wenn das DREQ- Bit "1" ist, so wird festgestellt, daß das WREQ1-Bit oder das RREQ1-Bit den Wert "1" annimmt, es wird die Schaltung IDMACTL gestartet, und ein Schreib- oder Lesebefehl für das IOCTL wird als ein Bit IOCWT oder ein Bit IOCRD ausgegeben. Wenn die Übertragung vollständig beendet ist, so gibt das IOCTL ein Bit INT aus, welches einen Logik- Pegel "1" hat, um eine Unterbrechung für den Mikroprozessor uP zu erzeugen.

Fig. 18 erläutert ein detailliertes Beispiel der Direktspeicherzugriffsmodus-Steuerschaltung (DMACTL). Die Schaltung DMACTL (Fig. 15) steuert eine Datenübertragung zwischen dem gemeinsamen Bus C-BUS und dem FIFO-Speicher. In Fig. 18 sind die Bezeichnungen WREQ2 (Übertragungsanforderung von dem C-BUS an das FIFO), RREQ2 (Übertragungsanforderung von dem FIFO an den C-BUS), RE (Paritätsfehler des C-BUS), TOUT (Zeitablauf des C-BUS), SRVO (Service abgelaufen), BBSY (Bus besetzt), DBGT (Datenbus-Gatesteuerung), ADGT (Adressenbus- Gatesteuerung), DMARD (Leseanforderung), WSRVI (Schreib- Service-Hinein), RSRVI (Lese-Service-Hinein), DMAWT (Schreibanforderung) und MAR+1 (Inkrementierung des speicheradressen-Registers) sämtlich in Fig. 15 gezeigt. In Fig. 18 repräsentiert jeder Buchstabe "F", der durch jeweilige Buchstaben zur Verfügung gestellt wird, ein Flip-Flop in Form eines JK-Flip-Flops. Eine Takterzeugungsschaltung I erzeugt drei unterschiedliche Taktsignale an ihren Klemmen T0, T1 und T2, und daher kann die Schaltung I beispielsweise aus D-Flip-Flops hergestellt werden, die in Tandem-Anordnung verbunden und synchron mit einem Takt CLA betrieben werden. Dies gilt auch für eine Takterzeugungsschaltung II. Der Betriebsablauf der in Fig. 18 gezeigten Schaltung wird unter Bezug auf die Fig. 19 und 20 verdeutlicht.

Fig. 19 zeigt Zeitablaufdiagramme zur Erläuterung des Betriebsablaufs der Schaltung DMACTL in dem DMA- Schreibmodus, also C-BUS - DKU, und Fig. 20 zeigt Zeitablaufdiagramme zur Erläuterung des Betriebsablaufs der Schaltung DMACTL in dem DMA-Lese-Modus, also DKU → C- BUS.

Fig. 21 stellt ein detailliertes Beispiel der Eingabe/Ausgabe-Einheitssteuerschaltung mit direktem Speicherzugriff (IDMACTL) dar. Die Steuerschaltung IDMACTL (Fig. 17) steuert die Datenübertragung zwischen dem FIFO- Speicher und der Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL). In Fig. 21 sind die Bezeichnungen WREQ1 (Übertragungsanforderung von DKU an den FIFO-Speicher), RREQ1 (Übertragungsanforderung von dem FIFO-Speicher an die DKU), DREQ (DMA-Übertragungsanforderung), IOCRD (Leseanforderung an das IOCTL), IDMARD (Leseanforderung an das Gate G33 (Fig. 10)), IDMAWT (Schreibanforderung an das Gate G32 (Fig. 10)), IOCWT (Schreibanforderung an das IOCTL) sämtlich in Fig. 17 gezeigt. In Fig. 21 repräsentiert jeder Buchstabe "F", der durch jeweilige Buchstaben zur Verfügung gestellt ist, einen Flip-Flop in Form eines JK-Flip-Flops. Eine Takterzeugungsschaltung III erzeugt vier unterschiedliche Taktsignale an ihren Klemmen IT0, IT1, IT2 und IT3, und daher kann die Schaltung III beispielsweise aus D-Flip-Flops hergestellt werden, die in Tandem-Anordnung verbunden sind und synchron mit dem Takt CLK betrieben werden. Der Betriebsablauf der in Fig. 21 gezeigten Schaltung wird unter Bezug auf die Fig. 22 und 23 verdeutlicht.

Fig. 22 zeigt Zeitablaufdiagramme zur Erläuterung des Betriebsablaufs der Schaltung IDMACTL in dem DMA- Lesemodus, also DKU → FIFO, und Fig. 23 zeigt Zeitablaufdiagramme zur Erläuterung des Betriebsablaufs der Schaltung DMACTL in dem DMA-Schreibmodus, also FIFO DKU. Daher wird die Schaltung IDMCTL gestartet, wenn die nachfolgenden Bedingungen erfüllt sind: Zuerst nimmt entweder WREQ1 oder RREQ1 den Logik-Pegel "1" an, und zweitens nimmt die Übertragungsanforderung DREQ von den IOCTL den Logik-Pegel "1" an.

Fig. 24 erläutert ein detailliertes Beispiel für den Zeit- Supervisor TIMSV. Der Supervisor (Fig. 15) stellt den Zeitablauf des C-BUS fest und erzeugt das entsprechende Zeitablaufsignal TOUT für den C-BUS. Dies bedeutet, daß der Supervisor TIMSV feststellt, ob die Zeit von der Ausgabe von WSRVI bis zum Empfang von SRVO kürzer ist als die vorgeschriebene Zeit oder nicht. In dem Fall, wenn das Zeitablauf-Flip-Flop TOUTF nicht gesetzt ist, wird ein Signal RSRVI oder WSRVO (vgl. Fig. 11A und 11B) empfangen. In einem solchen Zustand wird, wenn das Signal SRVO "1" ist, ein Zähler-Freischaltungs-Flip-Flop CTENF gesetzt, und ein Zähler setzt das inkrementelle Zählen so lange fort, wie das Flip-Flop CTENF gesetzt ist. Wenn sich der Logik-Pegel des Signals SRVO auf "1" ändert, bevor ein Überlauf (OVF) des Zählers erfolgt, wird das Flip-Flop CTENF zurückgesetzt. Daher wird der Zähler ebenfalls zurückgesetzt, und daher kann das Flip-Flop TOUTF nicht gesetzt werden.

Wenn der Zähler überläuft, bevor die Änderung von SRVO auf "1" eintritt, wird das Flip-Flop TOUTF gesetzt, und sowohl das Flip-Flop CTENF als auch der Zähler werden zurückgesetzt. Dies bedeutet, daß der Zeitablauf des C-BUS festgestellt wird. Daher wird die C-BUS-Zeitablauf- Ermittlungszeit durch die Zeit bis zum Überlauf des Zählers definiert. Der Betriebsablauf der in Fig. 24 gezeigten Schaltung wird weiter unter Bezug auf die Fig. 25 verdeutlicht.

Fig. 25 zeigt Zeitablaufdiagramme zur Erläuterung des Betriebsablaufs des in Fig. 24 dargestellten Zeit- Supervisors (TIMSV). In Fig. 25 bezeichnet das Dreieckssymbol unten in der Figur die Zeit, zu welcher der betreffende Zeitablauf festgestellt wird. Weiterhin stellen die gestrichelten Linien den Fall dar, in welchem der Betriebsablauf des C-BUS normal verläuft.

Fig. 26 erläutert ein detailliertes Beispiel der Eingabe/Ausgabe-Steuerschaltung (IOCTL). Es wird darauf hingewiesen, daß die IOCTL von Fig. 26, neben verschiedenen Eingabe/Ausgabe-Einheiten, für die Magnetdisk-Einheit DKU eingestellt ist. Daher wird die Einheit DKU durch die IOCTL über eine gewöhnliche DKU- Schnittstellensteuerschaltung kontrolliert, die für die vorliegende Erfindung nicht wesentlich ist, und die daher nicht weiter erläutert wird. Die in dieser Figur gezeigten Teile sind bereits in bezug auf die voranstehenden Figuren erwähnt worden. Beispielsweise sind "STR", "ICMR" und "DFIFO" in Fig. 12 gezeigt, und "READ", "WRITE", "INT", "DREQ", "IOCWT" und "IOCRD" sind in Fig. 17 gezeigt.

Wie voranstehend im einzelnen erläutert wurde, kann bei der vorliegenden Erfindung, obwohl das IOC-System mit einem kostengünstigen Ein-Chip-Mikroprozessor betrieben wird, der einfach zu benutzen ist, jedoch eine geringe Betriebsgeschwindigkeit aufweist, das IOC-System im wesentlichen als ein Betriebssystem mit hoher Geschwindigkeit arbeiten, in Folge der Verwendung der betreffenden Hardware. In diesem Fall wird es im allgemeinen schwierig, eine zufriedenstellende Diagnostik- Überprüfung einzurichten, in Folge der Verwendung derartiger Hardware. Dieses Problem kann allerdings durch Verwendung des Diagnose-Überprüfungsabschnitts überwunden werden, und hierdurch wird eine schnelle Wiederherstellung aus einem Störungszustand sichergestellt. Dies trägt zur Realisierung eines äußerst verläßlichen IOC-Systems bei.


Anspruch[de]

1. Eingabe/Ausgabe-Steuersystem (IOC), wobei das IOC- System betriebsmäßig über einen gemeinsamen Bus (C- BUS) mit einer zentralen Steuereinheit (CC) verbunden ist, und betriebsmäßig über einen externen Bus (E- BUS) mit einer Eingabe/Ausgabe-Einheit (IO) verbunden ist, um so eine Übertragung von Daten zu steuern, die zwischen der zentralen Steuereinheit (CC) und der Eingabe/Ausgabe-Einheit (IO) übertragen werden sollen, mit:

einer Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL) zum Steuern der Eingabe/Ausgabe-Einheit (IO), wobei eine Datenübertragung dadurch durchgeführt wird, daß auf die Eingabe/Ausgabe-Einheit (IO) über die Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL) zugegriffen wird;

einem Pufferspeicher, in welchem Übertragungsdaten momentan gespeichert werden;

einer Direktspeicherzugriffs-Steuereinrichtung, die unter einem Befehl von einem Mikroprozessor (uP) betreibbar ist, um eine Datenübertragungs-Steuerung in bezug auf den Pufferspeicher durchzuführen; und weiterhin

dadurch gekennzeichnet, daß ein Steuerregister (REG) vorgesehen ist, in welchen von der zentralen Steuereinheit (CC) abgegebene, mehrere Sätze von Datenübertragungs-Steuerinformation eingeschrieben werden;

die Direktspeicherzugriffs-Steuereinrichtung die Datenübertragungssteuerung unter Verwendung der Datenübertragungs-Steuerinformation durchführt, die in das Steuerregister (REG) eingeschrieben ist; und beide Prozesse zum Starten und Beenden von Betriebsabläufen der Steuerschaltung (IOCTL) durch den Mikroprozessor (uP) ausgeführt werden, der ein vorbestimmtes Mikroprogramm ausführt, wobei das Mikroprogramm in einem ROM gespeichert ist, welches betriebsmäßig mit dem Mikroprozessor (uP) und dem Steuerregister (REG) über einen internen Bus (I-BUS) verbunden ist, wobei der Mikroprozessor (uP) Zugriff auf den Pufferspeicher über den internen Bus (I-BUS) hat, und die Direktspeicherzugriffs-Steuereinrichtung aus einer Eingabe/Ausgabe-Einheitssteuerschaltung (IDMACTL) für direkten Speicherzugriff und einer Direktspeicherzugriffs-Steuerschaltung (DMACTL) besteht, und in welcher die Steuerschaltung (IDMACTL) so betreibbar ist, daß sie die Datenübertragung zwischen dem Pufferspeicher und der Eingabe/Ausgabe- Einheitssteuerschaltung (IOCTL) durchführt, während die Steuerschaltung (DMACTL) so betreibbar ist, daß sie die Datenübertragung zwischen dem Pufferspeicher und dem gemeinsamen Bus (C-BUS) durchführt, der zwischen dem IOC-System und der zentralen Steuereinheit (CC) angeordnet ist, so daß die Datenübertragungen ohne Mikroprogramm-Ausführung von dem Mikroprozessor (uP) durchgeführt werden, und daher der Pufferspeicher von einem internen Bus (I- BUS) während der Datenübertragung abgetrennt ist.

2. System nach Anspruch 1, bei welchem eine Programmodus-Steuerschaltung (PMCTL) mit dem gemeinsamen Bus (C-BUS) verbunden ist, um die Übertragungssteuerung in einem Programm-Modus (PM) zu erzielen, und der Mikroprozessor (uP) über die Steuerschaltung (PMCTL) direkt aktiviert wird, durch eine Aktivierungsunterbrechung, die dann auftritt, wenn eine Datenübertragungs-Anforderung von der zentralen Steuerschaltung (CC) ausgegeben wird, und dann, wenn die zugehörige Datenübertragung endet, die Aktivierung durch eine Beendigungsunterbrechung gelöst wird, die von der Eingabe/Ausgabe- Einheitssteuerschaltung (IOCTL) ausgegeben wird.

3. System nach Anspruch 2, bei welchem der Pufferspeicher aus einem First-In/First-Out-Speicher (FIFO) besteht.

4. System nach Anspruch 3, bei welchem der First- In/First-Out-Speicher (FIFO) mit einer Eingangsklemme (Din) für Schreibdaten versehen ist, mit einer Ausgangsklemme (Dout) für Lesedaten, mit einer Schreibmodus-Befehlsempfangsklemme (W), einer Lesemodus-Befehlsempfangsklemme (R), einer Klemme (FUL) für eine Anzeige eines angefüllten Status "VOLL" des Speichers (FIFO) mit den Übertragungsdaten, und mit einer Klemme (EMP) für eine Anzeige eines leeren Status "LEER" des Speichers (FIFO),

und auch die Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL) mit einer Schreibmodus-Befehlsempfangsklemme (W) versehen ist, um die Eingabe/Ausgabe-Einheit (IO) in dem Schreibmodus zu starten, und mit einer Lesemodus-Befehlsempfangsklemme (R), um die Eingabe/Ausgabe-Einheit (IO) in dem Lesemodus zu starten.

5. System nach Anspruch 4, in welchem die Eingabe/Ausgabe-Einheitssteuerschaltung (IDMACTL) für direkten Speicherzugriff so betreibbar ist, daß sie ein Ausgangssignal von einem ersten Logik-Gate empfängt, als Steuereingangssignal, um zuerst ein Signal zu erzeugen, welches an die Klemme (W) oder die Klemme (R) angelegt werden soll, die beide von dem First-In/First-Out-Speicher (FIFO) zur Verfügung gestellt werden, und zweitens ein Signal zu erzeugen, welches an die Klemme (W) oder die Klemme (R) angelegt werden soll, die beide von der Eingabe/Ausgabe-Einheitssteuerschaltung (IOCTL) zur Verfügung gestellt werden, und das erste Logik-Gate als Eingangssignal zumindest mit jedem Ausgangssignal der Klemme (FUL) und der Klemme (EMP) versorgt wird, die beide von dem Speicher (FIFO) zur Verfügung gestellt werden.

6. System nach Anspruch 5, bei welchem die Direktspeicherzugriffsmodus-Steuerschaltung (DMACTL) ein Signal erzeugt, welches an die Klemme (W) oder die Klemme (R) angelegt werden soll, die beide von dem First-In/First-Out-Speicher (FIFO) zur Verfügung gestellt werden, durch Empfang, als ihr Steuereingangssignal, des Ausgangssignals von einem zweiten Logik-Gate, welches als sein Eingangssignal zumindest jedes Ausgangssignal von der Klemme (FUL) und der Klemme (EMP) empfängt, die beide von dem Speicher (FIFO) zur Verfügung gestellt werden, und eine Information, die "WCR = 0" anzeigt, also daß die Anzahl der Übertragungswörter Null erreicht, wobei diese Zahl durch einen korrespondierenden Satz der Sätze der Datenübertragungs-Steuerinformation festgelegt wird, die in das Steuerregister (REG) eingeschrieben sind.

7. System nach Anspruch 6, bei welchem der First- In/First-Out-Speicher (FIFO) gemeinsam wahlweise für die Datenübertragung in der einen Richtung und die Datenübertragung in der anderen Richtung benutzt wird, wobei die erstgenannte Übertragung von dem gemeinsamen Bus (C-BUS) zu der Eingabe/Ausgabe- Einheit (IO) durchgeführt wird, also in dem Schreibmodus, während die letztgenannte Übertragung von der Einheit (IO) zu dem Bus (C-BUS) durchgeführt wird, also in dem Lesemodus.

8. System nach Anspruch 7, in welchem das erste Logik- Gate und das zweite Logik-Gate gemeinsam mit einer Übertragungsrichtungs-Festlegungsinformation (DIR) versorgt werden, so daß sowohl die Eingabe/Ausgabe- Einheitssteuerschaltung (IDMACTL) für den Direktspeicherzugriffs-Modus als auch die Direktspeicherzugriffsmodus-Steuerschaltung (DMACTL) wahlweise so festgelegt werden, daß sie in dem Schreibmodus oder dem Lesemodus arbeiten, wobei die Information (DIR) einen der Sätze der Datenübertragungs-Steuerinformation darstellt, die in das Steuerregister (REG) eingeschrieben ist.

9. System nach Anspruch 8, bei welchem das zweite Logik- Gate weiterhin mit einem Eingangssignal versorgt wird, welches von einem Zeit-Supervisor (TIMSV) abgegeben wird, der so betreibbar ist, daß er einen Zeitablauf des gemeinsamen Busses (C-BUS) feststellt, wobei der Zeitablauf des gemeinsamen Busses (C-BUS) einen Zustand repräsentiert, in welchem keine Reaktion zurückkommt, nachdem ein vorbestimmter Zeitraum verstrichen ist, von der zentralen Steuerung, welche als Reaktion für ein Steuersignal (SCTL) erzeugt werden soll, welches auf den gemeinsamen Bus (C-BUS) von der Direktspeichermodus- Steuerschaltung (DMACTL) geschickt wird.

10. System nach Anspruch 9, in welchem das zweite Logik- Gate weiterhin mit einem Eingangssignal versorgt wird, welches von einem Paritäts-Überprüfungsteil (PTYCHK) abgegeben wird, welches so betreibbar ist, daß es einen Paritätsfehler feststellt, der - falls vorhanden - in den Übertragungsdaten vorliegt, die auf dem gemeinsamen Bus (C-BUS) vorhanden sind.

11. System nach Anspruch 7, bei welchem der First- In/First-Out-Speicher (FIFO) mit einem Selektor (SEL) zusammenarbeitet, der an der Vorderstufe der von dem Speicher (FIFO) bereitgestellten Eingangsklemme (W) angeordnet ist, wobei der Selektor (SEL) durch die Steuerung der Direktspeicherzugriffsmodus- Steuerschaltung (DMACTL) geschaltet wird, so daß die Übertragungsdaten von dem gemeinsamen Bus (C-BUS) und die Übertragungsdaten von der Eingabe/Ausgabe-Einheit (IO) selektiv in dem Speicher (FIFO) gespeichert werden.

12. System nach Anspruch 8, bei welchem die Direktspeicherzugriffsmodus-Steuerschaltung (DMACTL) so betreibbar ist, daß sie um +1 eine Hauptspeicher- Adresseninformation für einen Hauptspeicher (MM) inkrementiert, der an den gemeinsamen Bus (C-BUS) angeschlossen ist, jedesmal dann, wenn jede Übertragungsdaten über den gemeinsamen Bus (C-BUS) an den Hauptspeicher (MM) übertragen werden, wobei die Hauptspeicher-Adresseninformation einen der Sätze der Datenübertragungs-Steuerinformation darstellt, die in das Steuerregister (REG) eingeschrieben ist, um die Adresse des Hauptspeichers festzulegen, in welche jede Übertragungsdaten eingeschrieben werden sollen.

13. System nach Anspruch 4, bei welchem ein Diagnose- Überprüfungsteil (DIGC) weiterhin in das System eingebaut ist, um einen Diagnosevorgang in bezug auf den First-In/First-Out-Speicher (FIFO) durchzuführen, die Eingabe/Ausgabe-Einheit (IO), und den Mikroprozessor (uP), und zwar selektiv.

14. System nach Anspruch 13, bei welchem der Diagnose- Überprüfungsteil so betreibbar ist, daß er momentan die Ausgabe der Datenübertragungsanforderung an die Eingabe/Ausgabe-Einheitssteuerschaltung (IDMACTL) für direkten Zugriffsmodus und/oder die Direktspeicherzugriffsmodus-Schaltung (DMACTL) stoppt, und zwar selektiv.

15. System nach Anspruch 14, bei welchem der Diagnose- Überprüfungsteil (DIGC) weiterhin so betreibbar ist, daß er einen Befehl zum Schreiben oder Lesen zum First-In/First-Out-Speicher (FIFO) unter Steuerung des Mikroprogramms ausgibt.

16. System nach Anspruch 15, bei welcher der Diagnose- Überprüfungsteil (DIGC) zumindest einen ersten Diagnosemodus, einen zweiten Diagnosemodus und einen dritten Diagnosemodus einstellt, und zwar selektiv, wobei in dem ersten Diagnosemodus zugehörige Diagnose-Überprüfungsdaten (DD) nur zwischen dem Mikroprozessor (MP) und dem First-In/First-Out- Speicher (FIFO) übertragen werden, in dem zweiten Modus zugehörige Diagnose-Überprüfungsdaten (DD) nur über den Mikroprozessor (uP), den Speicher (FIFO) und die Eingabe/Ausgabe-Einheit (IO) übertragen werden, und in dem dritten Modus zugehörige Diagnose- Überprüfungsdaten (DD) nur über den Mikroprozessor (uP), den Speicher (FIFO), und die zentrale Steuereinheit (CC) übertragen werden.

17. System nach Anspruch 16, bei welchem der Diagnose- Überprüfungsabschnitt (DIGC) zumindest aus Logik- Gates (G20 bis G23) besteht, die Logik-Gates (G20 bis G23) mit zumindest vier Sätzen von Information versorgt werden, zuerst einer Übertragungsrichtungs- Festlegungsinformation (DIR), die von dem Mikroprogramm erzeugt wird, zweitens einer Information (IDMAEX), welche einen Befehl zur Anregung der Eingabe/Ausgabe-Einheitssteuerschaltung (IDMACTL) für direkten Speicherzugriffs-Modus anzeigt, drittens einer Information (DMAEX), welche einen Befehl anzeigt zur Anregung der Direktspeicherzugriffsmodus-Steuerschaltung (DMACTL), und viertens entweder der Statusinformation "VOLL" oder der Statusinformation "LEER", in bezug auf den First-In/First-Out-Speicher (FIFO), und so von dem jeweiligen Logik-Gate (G20 bis G23) eine Leseanforderung (RREQ1) an die Steuerschaltung (IDMCTL) ausgegeben wird, eine Leseanforderung (RREQ2) an die Steuerschaltung (DMACTL) ausgegeben wird, eine Schreibanforderung (WREQ1) an die Steuerschaltung (IDMACTL) ausgegeben wird, und eine Schreibanforderung (WREQ2) an die Steuerschaltung (DMACTL) ausgegeben wird.

18. System nach Anspruch 17, bei welchem der Diagnose- Überprüfungsabschnitt (DIGC) so betreibbar ist, daß er ermittelt, daß kein Problem in dem First-In/First- Out-Speicher (FIFO) aufgetreten ist, bzw. in der Eingabe/Ausgabe-Einheit (IO), bzw. in dem Mikroprozessor (uP), in dem ersten, zweiten bzw. dritten Diagnose-Modus.

19. System nach Anspruch 16, bei welchem der Diagnose- Überprüfungsabschnitt (DIGC) weiterhin so betreibbar ist, daß er einen fünften Modus einstellt, in welchem die Übertragungsdaten in dem First-In/First-Out- Speicher (FIFO) so bearbeitet werden, daß sie andere Übertragungsdaten bilden, mit Hilfe des Mikroprozessors (uP), und dann in den Speicher (FIFO) zurückgeschrieben werden, so daß die auf diese Weise bearbeiteten Daten in der Eingabe/Ausgabe-Einheit (IO) gespeichert werden.

20. System nach Anspruch 19, bei welchem der Mikroprozessor (uP) einen Prozeß für eine Verschlüsselung in bezug auf die Übertragungsdaten ausführt.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com