DE2902465A1 - Datenverarbeitungsanordnung - Google Patents

Datenverarbeitungsanordnung

Info

Publication number
DE2902465A1
DE2902465A1 DE19792902465 DE2902465A DE2902465A1 DE 2902465 A1 DE2902465 A1 DE 2902465A1 DE 19792902465 DE19792902465 DE 19792902465 DE 2902465 A DE2902465 A DE 2902465A DE 2902465 A1 DE2902465 A1 DE 2902465A1
Authority
DE
Germany
Prior art keywords
processor
memory
signal
primary
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19792902465
Other languages
English (en)
Inventor
James M Guyer
Joseph Thomas West
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
Data General Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Data General Corp filed Critical Data General Corp
Publication of DE2902465A1 publication Critical patent/DE2902465A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Description

Patentanwälte
Dipl.-Ing. Dipl.-Chem Dipt -lixi. 2902 465
E. Prinz - Dr. G. Hauser - G. Leiser
y 19
8 München 60
Unser Zeichen: Ό 719 19.Januar 1979
Data General Corporation
Route 9,
Westboro, Massachusetts, V.St.A.
Datenverarbeitungsanordnung
Die Erfindung bezieht sich allgemein auf eine Datenverarbeitungsanordnung und insbesondere auf eine Anordnung, in der ein eigener Eingabe/Ausgabe-Prozessor für Übertragungsvorgänge zwischen einem Primärprozessor und einer oder mehreren peripheren Eingabe/Ausgabe-Einheiten benutzt wird.
In den meisten herkömmlichen Datenverarbeitungsanordnungen werden Übertragungen zwischen einer Zentraleinheit (Primärprozessor) und einem oder mehreren peripheren Eingabe/Ausgabe-Einheiten, beispielsweise Massenspeichereinheiten mit Bändern oder Platten, Anzeigeeinheiten, Kartenlesern und dergleichen, normalerweise mittels eines Eingabe/Ausgabe-Bus (E/A-Bus) erzielt, der für alle Eingabe/Ausgabe-
909830/0820
2902485
Einheiten (E/A-Einheiten) zugänglich ist. Wenn ein Zugriff auf den Primärprozessor oder den Primärspeicher durch eine externe E/A-Einheit ausgeübt werden soll, muß diese Einheit normalerweise ein Unterbrechungssignal erzeugen, das dann vom Primärprozessor in entsprechender Weise verarbeitet werden muß , damit die E/A-Einheit identifiziert v/ird, und damit bestimmt wird, welche Operation der Primärprozessor auf Verlangen der die Unterbrechung auslösenden Einheit durchführen soll. Der Primärprozessor muß seinen Betriebsablauf anhalten, d.h. seinen gerade vorliegenden Maschinenzustand unterbrechen, damit das Unterbrechungs signal verarbeitet v/erden kann. Das bedeutet, daß der Primärprozessor die die Unterbrechung auslösende Einheit identifizieren muß, den geforderten Datenbehandlungsvorgang durchführen muß und wieder in seinen vorherigen Maschinenzustand zurückkehren muß, so daß er die Operation wieder aufnehmen kann, die er vor der Unterbrechung durchgeführt hat. Die Verarbeitung eines solchen Unterbrechungssignals erfordert normalerweise, eine relativ lange Zeitperiode, bevor der Prozessor für die Wiederaufnähme der vorherigen Operation bereit ist.
Zur Vermeidung der für diese Unterbrechungsverarbeitung erforderlichen überschüssigen Zeit ist vorgeschlagen worden, als Zwischeneinheit zwischen externen E/A-Einheiten und dem Primärprozessor eine eigene Prozessoreinheit zu verwenden, die gewöhnlich als E/A-Prozessor bezeichnet wird. Ein solcher E/A-Prozessor kann normalerweise einen Zu griff auf den primären E/A-Bus ausüben, und er enthält einen eigenen E/A-Bus, der für eine oder mehrere periphere
909830/0820
~7~ 2902485
E/A-Einheiten zugänglich ist. Auf diese Weise führt der E/A-Prozessor die Verarbeitungsschritte durch, die erforderlich sind, wenn ein Unterbrechungssignal von einer E/A-Einheit ausgesendet wird, so daß der Primärprozessor seinen Betriebsablauf für eine solche Unterbrechungssignalverarbeitung nicht anhalten muß. Der E/A-Prozessor sorgt dann für die Übertragung von Daten zu oder von der E/A-Einheit und dann zu oder von dem Primärprozessor oder dem Primärspeicher in der Erimäranordnung. Der Primärprozessor führt dann nur noch die E/A-Verarbeitung an den Daten durch, wobei"diese Verarbeitung mit der hohen Arbeitsgeschwindigkeit des Primärprozessors erfolgen kann, während die Datenübertragung zu oder von den E/A-Einheiten von dem getrennten E/A-Prozessor abgehandelt werden.
Der E/A-Prozessor ist häufig mit seinem eigenen Ortsspeicher, gewöhnlich einem Speicher mit relativ niedriger Speicherkapazität versehen, in dem Programme zur Verarbeitung von Unterbrechungsvorgängen sowie Daten vor ihrer Übertragung zum oder vom Primärprozessor oder zu oder von der E/A-Einheit gespeichert sind.
In solchen derzeit verwendeten Systemen muß der E/AProzessor den Primärprozessor (tatsächlich zu Gunsten der E/A-Einheiten) unterbrechen, damit eine bestimmte Speicherzuordnung erhalten wird, die für den E/AProzessor oder den E/A-Einheiten erforderlich ist„ die vom Primärspeicher Gebrauch machen« Während die Unterbrechungsverarbeitung, die im Primärprozessor stattfinden muß, bei weitem nicht so umfangreich ist,
909830/0820
als es der Fall wäre, wenn der Primärprozessor die E/A-Einheiten direkt behandeln würde, liegt immer noch ein gewisser Anteil an Unterbrechungsverarbeitungszeit vor, die vom Primärprozessor in Anspruch genommen werden muß, damit der Umfang der durchzuführenden Unterbrechungsleistung festgelegt wird. Auch wenn ein eigener E/A-Prozessor verwendet wird, ist es erwünscht, die Verarbeitungszeit, die der Primärprozessor für diesen Zweck benötigt, auf ein Minimum herabzusetzen, so daß er so schnell wie möglich in seinen Normalbetrieb zurückkehren kann.
Wenn am Primär-E/A-Bus mehrere E/A-Prozessoren verwendet werden, muß eine Priorität unter den Prozessoren bezüglich der Benutzung des Primär-E/A-Bus festgelegt werden. Wenn beispielsweise ein E/A-Prozessor eine Lese-Modifizierungs-Schreib-Operation durchführt, muß dieser Prozessor alle anderen Prozessoren darüber informieren, daß eine solche Operation stattfindet, so daß der diese Operation durchführende E/A-Prozessor die Operation beenden kann, bevor der Primär-E/A-Bus für alle anderen E/A-Prozessoren verfügbar wird.
Nach der Erfindung wird in der Anordnung von einem Hilfs-E/A-Prozessor Gebrauch gemacht, der vom Primärprozessor getrennt ist; der Primärprozessor kann vom E/A-Prozessor unterbrochen werden. Im unterbrochenen Zustand übt der Primärprozessor einen Zugriff auf eine speziell angegebene Mikroprogrammstelle aus und macht eine spezielle ^xterntjedingungscode. genannte ) Code-Bitgruppe wirksam, die einer speziellen Form einer Unterbrechung entspricht, und hier als MikroUnterbrechung im Gegensatz zu einer
909830/0820
Standardunterbrechungsbedingung in derzeit verfügbaren Systemen bezeichnet wird. Während einer Mikrounterbrechung verlangt der E/A-Prozessor eine Neuzuordnung des Inhalts einer Speicherzuordnungseinheit (d.h. einer Speicheradressen-Umsetzungseinheit, die als MAP-Einheit bezeichnet wird. Sobald eine MAP-Einheit entsprechend neu zugeordnet worden ist, können Daten direkt zwischen dem E/A-Prozessor und dem Primärspeicher über die MAP-Einheit übertragen werden, ohne daß eine weitere Verarbeitungszeit auf Seiten des Primärprozessors benötigt wird.
Wenn der E/A-Prozessor nach Empfang der Bitkombination des Externbedingungscodes eine MikroUnterbrechung verlangt, vergleicht er diese Codegruppe mit einer festen Codegruppe, die eine Mikrounterbrechungsbedingung repräsentiert, und er bewirkt ein Externbedingungssignal (HEXT COND) , das zum Primärprozessor übertragen wird und anzeigt, daß der Primärprozessor durch eine echte MikroUnterbrechung aus dem E/A-Prozessor unterbrochen wird. Sobald der Primärprozessor die Unterbrechungsanforderung als eine Mikrounterbrechungsanforderung identifiziert hat, übt er einen Zugriff auf eine Mikrounterbrechungsroutine an einem angegebenen Speicherplatz in einem Festspeicher (ROM)im Primärprozessor aus und führt die notwendigen Schritte durch, die die gewünschte MAP-Neuzuordnung ergeben; die Daten, die diese Neuzuordnung angeben, befinden sich im Primärspeicher.
Wenn der E/A-Prozessor eine normale Unterbrechung, und nicht eine MikroUnterbrechung verlangt, verarbeitet der
009830/0820
Primärprozessor die Unterbrechung in einer Weise, wie es dem Fachmann bekannt ist, wobei er die Verarbeitungszeit in Anspruch nimmt, die normalerweise auf Seiten des Primärprozessors erforderlich ist. Im Gegensatz dazu wird nach der Einleitung eines Mikrounterbrechungsvorgangs und der Beendigung der Neuzuordnung die Datenübertragung direkt vom E/A-Prozessor durchgeführt, ohne daß eine solche weitere Verarbeitungszeit des Primärprozessors nötig ist. Die Verwendung eines Mikrounterbrechungsprozesses ergibt also einen Mechanismus, mit dessen Hilfe ein E/AProzessor eine schnelle und wirksame Datenübertragung bewirken kann. Sobald der Primärprozessor eine Unterbrechungsanforderung als eine MikroUnterbrechung identifiziert hat, kann er sofort und automatisch einen Zugriff auf zuvor gespeicherte Daten zur Erzielung der gewünschten Speicherneuzuordnung ausüben, ohne daß es notwendig ist, seine: übliche, Software-Unterbrechungsabhandlungsroutine durchzuführen, die mehr Zeit in Anspruch nimmt . Der E/A-Prozessor kann direkt mit dem Primärspeicher in Beziehung treten, während der Primärprozessor seine eigene Operation in einer Weise ausführt, die ermöglicht, die Ubertragungsvorgänge zwischen dem E/A-Prozec-^r und dem Primärspeicher zu ignorieren. '
Außerdem bewirkt nach der Erfindung ein E/A-Prozessor, der eine Lese-Modifizierungs-Schreib-Operation, d.h. das Lesen des Inhalts eines angegebenen Speicherplatzes im Primärspeicher, das Modifizieren dieses Inhalts und das Wiedereinschreiben des modifizierten Inhalts in den gleichen Speicherplatz, durchführt, ein spezielles Signal, das jeden anderen E/A-Prozessor, der mit dem Primär-E/A-Bus verbunden werden kann, darin hindert, einen Zugriff auf einen Speicherplatz im Primärspeicher
909830/0820
auszuüben, bis die Lese-Modifizierungs-Öchreib-Operation (RMW-Operation) beendet ist. Tatsächlich erhält der E/A-Prozessor, der die FlMf-Opera ti on durchführt, den Vorrang über den Betrieb aller anderen E/AProzessoren am Primär-E/A-Bus, so daß kein anderer E/A-Prozessor einen Zugriff auf den Primärprozessor ausüben kann.
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 ein Blockschaltbild der erfindungsgemäßen Datenverarbeitungsanordnung mit einem E/A-Prozessor,
Fig.2 ein Blockschaltbild des E/A-Prozessors von Fig.1,
Fig.3 und Fig.4 Blockschaltbilder von Abschnitten des E/A-Prozessors von Fig.2,
Fig.5 ein Blockschaltbild-einer sp.eziellenLogik,die in dem nach der Erfindung ausgeführten Mikrounterbrechungsprozeß benutzt wird,
Fig.6 ein Flußdiagramm der während einer Mikrounterbrechung des Primärprozessors durch den E/A-Prozessor ablaufenden Schritte,
Fig.7 und Fig.8 ein Blockschaltbild einer speziellen Logik, die bei der Bestimmung benutzt wird, ob ein Speicherzugriff auf den Ortsspeicher des E/AProzessors oder auf den Speicher des Primärprozessors vorliegt,
909830/0820
Fig.9 und Fig.10 ein Zeitdiagramm bzw. ein Blockschaltbild der Logik, die dazu benutzt wird, einen Zugriff auf den Primärspeicher während einer Lese-Modifizierungs-Schreib-Operation durch den E/A-Prozessor zu verhindern.
In Fig.1 ist das Beispiel einer Anordnung dargestellt, in der die Erfindung angewendet wird. Wie zu erkennen ist, ist ein Primärprozessor 10 mit einem Primär-E/A-Bus 11 für Verbindungen mit entsprechenden E/A-Einheiten sowie mit einem Primärspeicher 12 versehen. Die Zuordnung von Adressen zum Primärspeicher wird dabei durch eine Speicherverwaltungseinheit 13 behandelt, die von einem Logikadressen-Bus 14 empfangene Logikadressen in absolute Adressen im Primärspeicher umsetzt, die diesem über den Absolut-Adreß-Bus 15 zugeführt werden. Die Datenübertragung zu und vom Primärspeicher erfolgt über den Speicher-Bus 16. Ein Eingabe/Ausgabe-Prozessor 17 steht mit dem Primär-Prozessor am Primär-E/A-Bus 11 in Verbindung; er enthält seinen eigenen EAP-Speicher 18, und er steht mit den E/A-Einheiten am eigenen EAP-E/A-Bus 19 in Verbindung.
In einem bevorzugten Ausführungsbeispiel der Erfindung sind der Primärprozessor und der E/A-Prozessor Prozessoren des Typs Eclipse, wie sie von der Firma Data General Corporation, Southboro, Massachusetts hergestellt und vertrieben werden. Derartige Datenverarbeitungsanordnungen und ihr Betrieb sind beispielsweise in der Druckschrift "User's Manual Programmer's Reference, Eclipse Line Computers" 015-000024 mit besonderer Bezugnahme auf die Eigenschaft des einschreibfähigen Steuerspeichers in"User's Manual Programmer's Reference S/130 Micro
909830/0820
Programming WCS Feature", 015-000069 und "User's Manual, Interface Designer's Reference Nova and Eclipse Line Computers", 015-000031 beschrieben; diese Druckschriften sind von der Firma Data General Corporation herausgegeben worden und bei dieser Firma erhältlich. Da aus diesen Druckschriften der Aufbau und die Arbeitsweise dieser Datenverarbeitungsanordnung bekannt sind, erfolgt hier keine nähere Erläuterung.
Der E/A-Prozessor und dessen Speicher sind im Blockschältbild von Fig.2 genauer dargestellt« Der Prozessor enthält eine erste Zentraleinheit auf einer Prozessorkarte 25; die Zentraleinheit enthält eine Steuerlogik 26, eine Rechenlogik 27 und einen Logikadressen-Bus zum Übertragen von Adressen zwischen den verschiedenen E/A-Prozessor - Einheiten sowie einen Speicher-Bus 29 zum Übertragen von Daten zwischen diesen Einheiten. Für die Verbindung mit E/A-Geräten über den E/A-Bus 19 desE/A-Prozessors ist eine entsprechende E/A-SchnittstelLenlogik 30 vorgesehen. Die Verbindung mit dem Primärprozessor wird durch andere Logikschaltungen auf einer zweiten Prozessorkarte JA erzielt, die eine Zustandsänderungslogik-und Steuerspeichereinheit 32 enthält, die im Zusammenhang mit Fig.3 noch näher erläutert wird; auf dieser Karte ist auch eine Schnittstellenlogik 33 für die Verbindung mit dem Primärprozessor über den Primär-E/A-Bus 11 angebracht.
Der Speicher des E/A-Prozessors (EAP-Speicher) ist
ebenfalls auf der Karte 31 angebracht; er enthält den Ortsspeicher 18 und eine Speicherverwaltungseinheit (MAP) zur Erzielung der unter Bezugnahme auf Fig.4
909830/0820
genauer erläuterten Speicherzuordnung. Der E/A-Bus des E/A-Prozessors (EAP-E/A-Bus) wird von der Speicherzuordnungseinheit gemäß Fig.2 versorgt. Die Zustandsänderungslogik- und Steuerspeichereinheit, die in Fig.3 dargestellt ist, enthält eine Zustandsänderungslogik 34, einen Steuerspeicher 35, ein ROM-Pufferregister 36 (RBUF) und ein Register 37 zur Identifizierung der Seite im Steuerspeicher, auf die gerade ein Zugriff ausgeübt wird. Die Zustandsänderungslogik 34 steht mit anderen Einheiten des E/A-Prozessors über den Speicher-Bus 29 in Verbindung. Der Ausgang des Registers 36 liefert an die Steuerlogik 36 auf der E/A-Prozessorkarte 25 ein RBUF-Signal, von dem ein Abschnitt, nämlich die RBUF-Bits 32 bis 35 auch der Zustandsänderungslogik 34 zugeführt wird.
Die Speicher- und MAP-Einheit 18 des E/A-Prozessors ist in Fig.4 dargestellt; sie enthält den Ortsspeicher dec E/A-Prozessors, der seinerseits eine Speicherparitätslogik 41 enthält. Die Zuführung von Daten zum Ortsspeicher 40 erfolgt über den Speicher-Bus 29, und das Speicherparitätsbit wird der Speicherparitätslogik 41 über die Paritätsgeneratoreinheit 42 zugeführt. Gemäß der Darstellung werden Daten aus dem Ortsspeicher dem Speicher-Bus 29 zugeführt. Entsprechend der üblichen Praxis enthält der Speicher eine Speicheradressensteuereinheit 43 zur Zuführung von Adressen zum Speichern über den Logik-Adressen-Bus 28. Der Speicher wird in bekannter Weise, periodisch mittels eines Auffrischungszählers 44 aufgefrischt. Die Steuerlogik zur Steuerung der Paritätsfeststellung des betriebs der MAP/Zeitgeber-Einheit sowie für die Schnittstelle zum EAP-E/A-Bus ist als Einheit 45
909830/0820
dargestellt. Die Speicherzuordnung wird von der MAP-Einheit 47 des E/A-Prozessors bestimmt, die steuert, ob der Prozessor einen Zugriff auf den Ortsspeicher (bei Geltendmachung des Signals JCXT PMC£ ) oder auf den Primärspeicher über die Primär/EAP-Schnittstelle (bei Geltendmachung des Signals INT PMC2) durchführen soll, wie noch genauer erläutert wird. Wie oben allgemein ausgeführt wurde, besteht ein Hauptmerkmal der Erfindung in der Fähigkeit, den Primärprozessor so zu unterbrechen, daß die Verarbeitungsbetriebszeit des Primärprozessors herabgesetzt und eine direkte Steuerung der Primärspeicherzuordnung ermöglicht wird. Wie oben ausgeführt wurde, ist eine solche Unterbrechung als Mlkrounterbrechungsprozeß definiert, dessen Ablauf an Hand des in Fig.5 dargestellten Schaltbilds am besten erläutert werden kann.
Zur Auslösung der Mikrounterbrechungsoperation muß der E/A-PrQzessor einen speziell dafür vorgesehenen Befehl durchführen, der als der DOB- ac 4/-Befehl angegeben ist und ein SDATOB-Signal wirksam macht. Die sechs niedrigstwertigen Bits des Befehls, auf die als "Gerätecodegruppe" Bezug genommen wird und die in Fig.5 als SLAVE DS0-DS5 angegeben ist, werden mit einer festen 6-Bit-Codegruppe im Komparator 50 verglichen, die die Gerätecodegruppe 4 repräsentiert. Wenn die SLAVE DSJ0-DS5-Bits mit den festen Bits der "Gerätecodegruppe 4" übereinstimmen, bewirkt der Komparator 50ein Signal SLAVE SELECT.
Das Wirksammachen der Signale SDATOB und SHAVE SELECT ergibt am Ausgang eines UND-Glieds 51 ein Signal START MAP INT, Dieses Signal wird einem JK-Flipflop 52 zugeführt. Das Flipflop 52 liefert an seinem Q-Ausgang ein Signal für ein ODER-
909830/0820
Glied 54 (am unteren Ende von Fig.5), wenn eine Mikrounter brechung angefordert wird. Am ODER-Glied 54 liegt auch ein Eingangssignal an, das anzeigt, wann eine Standardunterbrechung angefordert wird; die Logik für die Standardunterbrechungsanzeige ist bekannt, so daß sie hier nicht näher erläutert wird.
Das ^usgangssignal des ODER-Glieds 54 wird einem D-Flipflop 55 zugeführt, das gemäß der üblichen Primär-IS/A-Schnittstellenlogik mit einem Primärsignal REQUEST ENABLE (HRQENB) periodisch getaktet wird. Das D-Flipflop 55 erzeugt daraufhin ein Signal, das der Primäreinheit anzeigt, daß der E/A-Prozessor eine Unterbrechung fordert; das Signal ist als Signal HINTR angegeben.
An dieser Stelle trägt es zum Verständnis der Mikrounterbrechungsoperation bei, wenn die Arbeitsweise eines bekannten Primärprozessors des oben erwähnten Typs Eclipse betrachtet wird. Bekanntlich ist der Primärprozessor ein mikroprogrammierter Prozessor, der eine Zustandsänderungslogik enthält, die die nächste Mikroadresse im Primär-Festspeicher für den nächsten Mikrobefehl des Primärprozessors bestimmt; diese Adressenbestimmung wird mittels eines 6-Bit-Feldes (HRBUF 32-37) im laufenden Mikrobefehl ausgeführt. Das 6-Bit-Feld gibt einen Test an, mit dem eine wahr? oder eine falsche Adresse als Adresse für den nächsten Mikrobefehl ausgewählt werden kann. Ausgewählte Zustandsänderungscodegruppen des Primärprozessors (beispielsweise im Eclipse-Prozessor die Zustandsänderungscodegruppen 40 bis 77) repräsentieren
909830/0820
2902485
Extern-Bedingungs-Zustandsänderungseodegruppen, wobei für solche Codegruppen eines der Bits des oben erwähnten 6-Bit-Feldes (HRBUF 32) wirksam gemacht wird.
Der durch Bezugnahme auf die Externbedingungs-Zustandsänderungscodegruppen durch den Primärprozessor ausgeführten Test besteht darin, das Signal HEXT COND abzutasten. Wenn eine Externbedingungszustandsänderungscodegruppe vorhanden ist und das Signal HEXT COND wirksam gemacht ist, wird als Adresse für den nächsten Mikrobefehl die wahre Adresse ausgewählt. Wenn das Signal HEXT COND in Anwesenheit einer Externbedingungs-Zustandsänderungscodegruppe nicht wirksam gemacht ist ,wird die falsche Adresse ausgewählt. Das Bit HRBUF 32 zeigt die Anwesenheit einer Externbedingungs-Zustandsänderungscodegruppe an, und die Bits HRBUF 33 bis 37 geben das .Gerät an, das der Primärprozessor für den Test auswählt.
Wie in Fig.5 zu erkennen ist, wird der Komparator 53 durch das Signal ENAB-MATCH aus dem JK-Flipflop 52 freigegeben. Wenn die Bits HRBUF 33 bis 37 mit den festen fünf Bits (die die EAP-Externbedingungs-Zustandsänderungscodegruppe repräsentieren) am Komparator 53 im E/A-Prozessor übereinstimmen und wenn die Unterbrechungen (die durch ein Signal EAP MATCH angegeben ist) am UND-Glied 56 mit dem Signal HINTR aus dem D-Flipflop 55 synchronisiert worden ist, wird das Signal HEXT COND wirksam gemacht und dem Primärprozessor aus dem E/A-Prozessor zugeführt, damit angegeben wird, daß der E/A-Prozessor eine MikroUnterbrechung fordert. Der
909830/0820
Primärprozessor erkennt das Wirksammachen des SignalsHIiJXT' an dem E/A-Prozessor als eine echte MikroUnterbrechung, und er wählt daraufhin die wahre Adresse für die Mikrounterbrechungsoperation aus. Der Test zur Bestimmung, ob die Unterbrechung eine echte MikroUnterbrechung ist, wird an einer zugewiesenen Mikroprogrammstelle in der Unterbrechungsabhandlungs-Mikrocodegruppe des Primärprozessors durchgeführt.
Wenn eine solche echte MikroUnterbrechung auftritt, entnimmt der Primärprozessor einem bekannten Speicherplatz im Primärspeicher den Hinweis auf die Daten, die die Anzahl der in der MAP-Einheit durchzuführenden Änderungen, die zu ändernde MAP-Einheit und die Daten für die Änderung angeben. Der Primärprozessor überträgt dann den Datenblock aus dem Speicher in die Datenkanal-MAP-Einheit, so daß die MAP-Einheit dann zur Übersetzung logischer Adressen aus den die Anforderung abgebenden E/A-Prozessor in absolute Adressen im Primärspeicher verfügbar ist.
Wenn die ausgewählte, MAP-Einheit ihren Inhalt für die Primärspeicher-Neuzuordnung geändert hat, sendet der Primärprozessor eine Anzeige dieser Tatsache aus, d.h.
er sendet das HTRACE-Signal aus, das gemäß Fig.5 dem Verknüpfungsglied 57 zusammen mit dem Signal EAP MATCH aus dem Komparator 53 zugeführt wird. Das zuletzt genannte Signal ergibt sich aus einem zweiten Vergleich der HRBÜF-Bits 33-37 aus dem Primärprozessor mit den festen Bits am Komparator 53. Wenn die Signale HTRACJ und EAP MATCH wirksam gemacht sind, zeigt das Signal CLR MAP INT aus dem Verknüpfungsglied 57 an, daß die ausgewählte Datenkanal-MAP-Einheit mit ihrem neuen Inhalt geladen worden ist. Das Signal CLR MAP INT wird dem J-Eingang des
909830/0820
2902485
JK-Flipflops 52 zugeführt, damit der Komparator 53 unwirksam gemacht wird. Das Signal CLR MAP INT wird auch einem Kennzeichen-Flipflop 58 (einem D-Flipflop) zugeführt, dessen Q-Ausgangssignal zusammen mit dem Signal SLAVE SELECT dem Verknüpfungsglied 59 zugeführt wird, damit ein Signal S SELD erzeugt wird, das dem E/A-Prozessor anzeigt, daß die Speicher-Neuzuordnung in der ausgewählten MAP-Einheit des Primärprozessors beendet worden ist, wie es erforderlich war.
An diesem Punkt wird der Status (nicht der Inhalt) der Primär-MAP-Einheit im Primärprozessor wieder hergestellt, die Fähigkeit (tes Empfangs von Unterbrechungen durch den Primärprozessor wird ebenfalls wieder hergestellt und der Primärprozessor kann mit seinem eigenen Programmbetrieb fortfahren, ohne daß weitere Verarbeitungsvorgänge oder Übertragungen zwischen dem Primärprozessor und dem E/A-Prozessor benötigt werden.
Demgemäß wird bei dem oben beschriebenen Mikrountetbrecihupg^rozeß die Verarbeitungszeit vermieden, die der Primärprozessor normalerweise zur Verarbeitung einer Standardunterbrechung aufwenden muß. In diesem Zusammenhang ist es angebracht,die Beziehy&g zwischen der Mikrounterbrechungsoperation und den Schritten eines vom Primärprozessor ausgeführten Programms zu betrachten, was in Fig.6 dargestellt ist. Im Verlauf der Durchführung programmierter Schritte erfaßt der Primärprozessor einen Befehl, führt den Befehl aus, erfaßt abhängig davon Daten und führt dann Datenverarbeitungsvorgänge aus, die erforderlich sind, bevor er den
909830/0820
nächsten Befehl erfaßt. Ein solcher Prozeß ist ein üblicherweise von einer Zentraleinheit bei der Durchführung eines Programms ausgeführter Prozeß. Die Wirksammachung einer Unterbrechung aus dem E/A-Prozessor erfolgt dann zwischen dem Zeitpunkt, an dem der Primärprozessor (die Zentraleinheit) den letzten Befehl erfaßt hat, und dem Zeitpunkt, an dem er den nächsten Befehl erfaßt. Bei Standardunterbrechungsprozessen führt der Primärprozessor im Anschluß an das Erfassen und das Sicherstellen des nächsten Befehls im Primärprogramm einen Zugriff auf die Festspeicheradresse durch, wie oben erläutert wurde, so daß er bestimmen kann, ob eine Unterbrechung eine normale Unterbrechung oder eine MikroUnterbrechung ist.
Wenn der E/A-Prozessor ein Signal HEXT COND (gemäß der Erörterung von Fig.5) liefert, so daß der Primärprozessor weiß, daß die Unterbrechung eine echte MikroUnterbrechung ist, führt der Primärprozessor einen Zugriff auf den Mikrocodebefehl der Mikrounterbrechung durch, der die Durchführung der Speicher-Neuzuordnungsroutine zur Änderung des Inhalts einer ausgewählten Datenkanal-MAP-Einheit erlaubt. Sobald der Inhalt der MAP-Einheit entsprechend neu zugeordnet (geladen) worden ist, macht der Primärprozessor das Signal HTRACE wirksam, damit diese Bedingung angezeigt wird, und er liefert dieses Signal an den E/A-Prozessor. Der Primärprozessor kann dann zu seinem eigenen Hauptprogramm zurückkehren und den nächsten Befehl ausführen, der zuvor erfaßt und sichergestellt worden ist, worauf er in seine Hauptprogrammroutine zurückkehrt»
909830/0820
29024(55
Wenn das Signal HEXT COND vom E/A-Prozessor nicht wirksam gemacht wird, weiß der Primärprozessor, daß eine normale Unterbrechungsbedingung vorliegt. Der Primärprozessor führt daraufhin in der üblichen Weise seine normale Unterbrechungsroutine durch. Im Anschluß an die normale Unterbrechungsroutine kehrt der Primärprozessor in das Hauptprogramm zurück, doch ist wegen der Notwendigkeit für den Primärprozessor, bei einem normalen Unterbrechungsvorgang seine eigenen internen Register zu benutzen, der zuvor sichergestellte Befehl verlorengegangen, so daß der nächste Befehl erneut erfaßt werden muß, bevor die Wiederaufnahme des Primärprogramms erfolgen kann.
Wenn nach Fig.5 das Signal S SELD am Ausgang des Verknüpfungsglieds 59 so gekennzeichnet worden ist, daß es anzeigt, daß der Mikrounterbrechungsprozeß durch den Primärprozessor beendet worden ist, ist die Software des E/A-Prozessors so ausgelegt, daß sie die Kennzeichenbedingung so behandelt, daß für den Fall, daß bestimmt wird, daß die Mikrounterbrechungsverarbeitung beendet worden ist (auf Grund der Anwesenheit des Signals S SELD) , die Software des E/A-Prozessors dann mit der Durchführung der gewünschten Datenübertragungsroutine fortfahren kann, für die die Unterbrechung ursprünglich angefordert wurde. Die Datenübertragung zum und vom Primärspeieher über den Primär-E/A-Bus und die Primär-EAP-Schnittstelle 23 (siehe Fig.2) wird von einer entsprechenden Logik ausgeführt, die dem Fachmann bekannt istj diese Schnittstelle muß daher hier nicht näher beschrieben werden. Für eine
909830/0820
solche Datenübertragung wirkt der E/A-Frozessor wie ein E/A-Gerät bezüglich des Primärprozessors, und er benötigt die herkömmliche Schnittstellensteuerlogik, die normierweise zur Übertragung von Adressen und von Daten zum Primärprozessor aus einem externen E/A-Gerät in bekannter Weise benutzt wird.
In Fig.2 bestimmt die dem lokalen Speicher 18 des -K/A-Prozessors zugeordnete MAP-Einheit 60, ob der E/AProzessor einen Zugriff auf den lokalen Speicher 18 oder einen Zugriff auf den Primärspeicher 12 über den PrimärrE/A-Bus 11 durchführen soll. Die MAP-Einheit 60 wirkt daher als eine Speicherverwaltungseinheit für den E/A-Prozessor zur Durchführung eines Betriebs mit dem lokalen Speicher mit dem Primärspeicher. Die MAP-Einheit 60 ergibt einen Betrieb in zwei Betriebsarten, nämlich eine Benutzer-Betriebsart und eine Datenkanal-Betriebsart, von denen jede in jeder Kombination in Betrieb oder außer Betrieb sein kann, wie durch die Signale USER MODE und DCH MODE aus den Flipflops bzw. 65 von Fig.8 angezeigt wird.
In den Fi^-en 7 und 8 ist die spezielle MAP-Einheit dargestellt. Das Signal USER MODE am D-Flipflop 64 zeigt an, ob eine Programmspeicherbezugnahme eine Entscheidung durch die MAP-Einheit benötigt oder nicht, damit bestimmt wird, ob die Programmspeicherbezugnahme dem lokalen Speicher des E/A-Prozessors oder dem Primärspeicher über die Primär-EAP-Schnittstelle gilt. Wenn das Signal USER MODE nicht wirksam gemacht ist, wird die Speicherbezugnahme des Programms automatisch als eine Bezugnahme auf den lokalen Speicher bestimmt,
909830/0820
29024B5
während bei wirksam gemachtem Signal USER MODE die MAP-Einheit feststellt, ob der Start der Schnittstelle des lokalen Speichers gesperrt werden soll (INT PMC£ bei RAM 66 wirksam gemacht) oder ob der Start der Primär/ ΕΑΡ-Schnittstelle gesperrt werden soll (EXT PMC2 wird bei RAM 67 wirksam gemacht). Das Signal DCH ADDR unterscheidet, ob die Bezugnahme eine Programmbezugnahrae (DCH ADDR nicht wirksam ) oder eine Datenkanalbezugnahme (DCH ADDR wirksam ist). Der Vorgang bei einer Datenkanalbezugnehme (DCH MODE) am D-Flipflop 65 gleicht dem Vorgang bei einer Programmbezugnahme (USER MODE).
Da im Primärprozessor 4 MAP-Einheiten vorhanden sind, die zur Übersetzung logischer Adressen in absolute Adressen im Primärspeicher benutzt werden können, müssen die normalen 15 Adressenbits zur Identifizierung der zu. benutzenden MAP-Einheit von zwei zusätzlichen Bits begleitet sein, wenn die Speicherbezugnahme dem Primärspeicher gilt. Diese Bits werden am Multiplexer 63 erhalten; sie sind als Bit DCHLA0 und als Bit XDCH angegeben. Wenn ein E/A-Gerät am EAP-E/A-Bus einen Datenkanal-Zugriff fordert, liefert es 15 Adressenbits SDATAL-15 und zwei MAP-Einheits-Auswahlbits SDATAp und SEXT DCH . Die Bits SDATA 1-15 werden der MAP-Einheit 60 zugeführt, wenn das Signal DCH ADDR als Logikadressenbits 1 bis 15 und das Bit SDATAjD als Bit SALUP OUT wirksam gemacht sind. Das Bit SALUß OUT wird vom Multiplexer 63 als Signal DCHLA0 geliefert und dann als Bit 0 des Primär-E/A-Bus zum Primärprozessor übertragen. Das Signal SEXT DCH wird vom Multiplexer
90 9 8 30/0820
als Signal CDHC am Ausgang abgegeben und dann als Signal EXTERNAL DCH zum Primärprozessor übertragen. Wenn das Programm die logische Adresse (eine Programmbezugnahme) liefert, werden die zwei Bits zur Identifizierung der MAP-Einheit als Bits UXDCH und UDCHO aus den D-Flipflops 68 und 69 am Multiplexer erhalten.
Wenn der E/A-Prozessor den Inhalt eines speziellen Speicherplatzes im Primärspeicher liest, den Inhalt modifiziert und den modifizierten Inhalt wieder in den gleichen Speicherplatz zurückschreibt, also eine Lese-Modifizierungs-Schreib-Operation (RMW-Operation) durchführt, müssen, wie oben erwähnt wurde, andere E/A-Prozessoren daran gehindert -werden, ebenfalls einen Zugang zum gleichen Speicherplatz im Primärspeicher zu erhalten, bis die RMW-Operation beendet ist. Diese Fähigkeit wird dadurch geschaffen, daß vom E/A-Prozessor, der die RMW-Operation durchführt, ein Signal RMOD PENDING bewirkt wird.
Solange dieses Signal RMOD PENDING wirksam ist, kann der eine RMW-Operation durchführende bestimmte E/AProzessor nicht unterbrochen werden, nicht einmal durch einen E/A-Prozessor mit höherer Priorität.
Das Zeitdiagramm von Fig.9 und das Logikdiagramm von Fig.10 tragen zum Verständnis dieser Operation bei. Das Logikdiagramm zeigt die Standard-Datenkanalschnittstelle von einem E/A-Prozessor zu einem Prozessor des erwähnten Typs Eclipse, mit Ausnahme der bezüglich der Signale RMOD und RMOD PENDING erforderlichen Modifikation. Das Signal RMOD wird vom E/A-Prozessor intern erzeugt, damit das Signal RMOD PENDING erhalten wird, das ihm von außen zugeführt wird, damit alle anderen E/A-Prozessoren darüber informiert werden,
909830/0820
2902485
daß sie nicht auf die Datenkanal-Steuersignale HDCHA, HDCHO und HDCHI "bis zu dem Zyklus ansprechen können, der auf die Zurückschreiboperation des betroffenen E/A-Prozessors folgt. Das Signal SLAVE RKADY wird
ebenfalls vom E/A-Prozessor intern erzeugt; es gibt an, daß der E/A-Prozessor einen Datenkanalzugriff
auf den Primärprozessor fordert» Entsprechend der von der Firma Data General Corporation verwendeten Standard-Schnittstellenlogik hat dies die Wirksammachung des Signals HDCHR am Verknüpfungsglied 7h an dem Zeitpunkt zur Folge, an dem das Signal HRUENB das Flipflop 73 taktet« Der E/A-Prozessor reagiert dann auf das
Primärdatenkanal-Bestätigungssignal (HDCA) dadurch, daß er das Signal HOST DCHA und das Signal DCH SELECT wirksam macht, wenn die Primärdatenkanalpriorität im Signal HDCPIPIN ebenfalls einen wahren Signalwert hat.
Das Zeitdiagramm zeigt die Beziehung zwischen dem Primärdatenkanal-Anforderungssignal HDCHR , dem Primäranforderungs-Freigabesignal HRUENB , dem Primärdatenkanalbestätigungssignal HDCHA , dem Primärdatenkanalausgangssignal HDÜHÜ , dem Primärdatenkanal-Eingangssignal HDCHI , dem Signal RMOD" und dem Signal IiMOD PENDING. Die Primärsignale (HDCHA, HDCHR, HDCHO, HDCHI, HRQENB) sind Signale des Typs, wie sie im Eclipse-Prozessor benutzt werden, der oben unter Bezugnahme auf bestimmte Veröffentlichungen über diesen Prozessor insbesondere im "Interface Designer's Reference Manual" erläutert sind. Die Signale RMOD und RMOD PENDING werden nach der Wirksammachung des Signals HDCHO wirksam gemacht,( d.h. während die Daten gelesen werden ), und sie dauern bis nach der Wirksammachung des Signals HDCHI an, d.h. während des Rückschreibens der modifizierten Daten.
909830/0820
Im Verlauf dieser Zeitperiode kann kein anderer E/A-Prozessor bis zum nächsten Zyklus, der sich an die Nichtwirksammachung des Signals RMOD PENDING, d.h. bis zu dem Zyklus nach dem Rückschreiben des ersten Prozessors nach der Modifizierung der Daten, anschließt, auf ein Signal HDCHA ansprechen. Dies ist deshalb der Fall, weil das Signal RMOD des die Nichtwirksammachung verursachenden E/A-Prozessors einen falschen Signalwert hat, während RMOD PENDING einen wahren Signalwert hat. Das Ausgangssignal des Verknüpfungsglieds 70 hat daher einen niedrigen Wert, der einen hohen Wert des Ausgangssignals des Verknüpfungsglieds 71 und einen niedrigen Wert des Ausgangssignals des Verknüpfungsglieds 72 zur Folge hat, was in der Weise der Fall ist, als würde der die Nichtwirksammachung hervorrufende E/A-Prozessor keinen Datenkanalzugriff zum Primärspeicher ohne Rücksicht auf das Q-Ausgangssignal des Flipflops 73 anfordern. Der die Nichtwirksammachung hervorrufende Prozessor macht daher das Signal DCH SELECT oder das Signal HOST DCHA an dem Zeitpunkt nicht wirksam, an dem das Signal HDCHA empfangen wird, das den Rückschreibzyklus in dem Prozessor auslost, der die Wirksammachung ausiünrt. Überdies stellt der die Nichtwirksammachung hervorrufende Prozessor das Kanalprioritäts-Ausgangssignal HDCHPOUT nicht auf einen hohen Werte
909830/0820
Leerseite

Claims (10)

  1. Patenten ν'alts
    Dipl.-Ing. Dipl -Chem. Dipl -Ing 290 2
    E. Prinz - Dr. G, Hauser - G. Leiser
    Ernsbeigerstrasse 19
    8 München 60
    Unser Zeichen; D 719 19.Januar 1979
    DATA GENERAL CORPORATION
    Rouxe 9,
    tfestboro, Massachusetts, V.St.A.
    Patentansprüche
    Γΐ.' Datenverarbeitungsanordnung mit einem Primärprozessor, der einen Mikroprogrammsteuerspeicher, einen Primärspeicher und eine Primärspeicher-Verwaltungseinheit enthält, gekennzeichnet durch
    einen Eingabe/Ausgabe-Prozessor,
    einen Eingabe/Ausgabe-Bus für Verbindung zwischen dem Eingabe/Ausgabe-Prozessor und dem Primärprozessor,
    wobei der Eingabe/Ausgabe-Prozessor eine Mikro-Unterbrechungsidentifizierungseinheit enthält, die abhängig von einem angegebenen codierten Signal·aus dem Primärprozessor und einer Mikro-Unterbrechungsanforderung durch d~en Eingabe/Ausgabe-Prozessor an den Primärprozessor ein Signal liefert, das dieUnterbrechungsanforderung als ein Signal kennzeichnet, das eine Neuzuordnung eines ausgewählten Abschnitts des Inhalts der Speicherverwaltungseinheit erfordert, wodurch der Primärprozessor die Neuzuordnung entsprechend einem angegebenen Programm
    909830/0820
    in seinem Mikro-Programmsteuerspeicher durchführen kann, so daß der Eingabe/Ausgabe-Prozessor dadurch die Fähigkeit hat, über den Eingabe/Ausgabe-Bus einen Zugriff auf den Primärspeicher und die Speicherverwaltungseinheit für eine direkte Übertragung logischer Adressen zu dem neu zugeordneten Abschnitt der Speicherverwaltungseinheit und für eine direkte Übertragung von Daten zwischen dem Eingabe/Ausgabe-Prozessor und dem Primärspeicher ausüben kann.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Mikro-Unterbrechungsidentifizierungseinheit eine erste Einrichtung enthält, die ein erstes festes codiertes Signal und einen codierten Abschnitt eines Befehlssignals vergleicht und ein erstes Signal liefert, das die Anforderung einer Mikro-Unterbrechung anzeigt.
  3. 3. Anordnung nach Anspruch 2, gekennzeichnet durch eine zweite Einrichtung in der Mikro-Unterbrechungsidentifizierungseinheit, die ein zweites festes codiertes Signal mit dem angegebenen codierten Signal aus dem Primärprozessor vergleicht und ein Übereinstimmungssignal liefert, wenn die Signale übereinstimmen, eine Einrichtung, die abhängig von dem ersten Signal und einem periodischen Signal aus dem Primärprozessor ein Internunterbrechungssignal erzeugt, und eine Einrichtung, die abhängig von dem Übereinstimmungssignal und dem Internunterbrechungssignal an den Primärprozessor ein Externbedingungssignal liefert, das anzeigt, daß die Unterbrechungsanforderung eine echte Mikro-Unterbrechungsanforderung ist.
    909830/0820
  4. 4. Anordnung nach Anspruch 3» dadurch gekennzeichnet, daß der Eingabe/Ausgabe-Prozessor außerdem eine Einrichtung enthält, die abhängig von einem von dem Hilfsprozessor gelieferten Signal ein Signal liefert, das anzeigt, daß die Neuzuordnung des Abschnitts der Speicherverwaltungseinheit beendet ist.
  5. 5. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Eingabe/Ausgabe-Prozessor außerdem folgende Einheiten enthält,
    einen Ortsspeicher,
    einen Multiplexer, der abhängig von einem Speicherbezugssignal ein Freigäbesignal liefert, wenn bestimmt werden soll, ob die Speicherbezugnahme auf den Ortsspeicher oder auf den Speicher im Primärprozessor erfolgt, und
    eine MAP-Einrichtung, die abhängig von dem Freigabesignal bestimmt, ob die Speicherbezugnahme auf den Ortsspeicher oder den Speicher im Primärprozessor erfolgt,»
  6. 6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß die MAP-Einrichtung eine Vorrichtung zur Abgabe eines ersten Sperrsignals zum Verhindern des Starts der Schnittstelle des Ortsspeichers für den Fall einer Bezugnahme auf den Speicher im Primärprozessor oder zur Abgabe eines zweiten Sperrsignals zum Verhindern des Starts der Schnittstelle des Primär/Eingabe/Ausgabe-Prozessors für den Fall der Bezugnahme auf den Ortsspeicher enthält.
    309830/0820
  7. 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die Speicherverwaltungseinheit mehrere Speicherzuordnungseinheiten enthält und daß der Multiplexer in Abhängigkeit von einer oder von zwei Bitgruppen eine Ausgangsbitgruppe abgibt, die eine ausgewählte Speicherzuordnungseinheit identifiziert.
  8. 8. Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß jede der zwei Bitgruppen ein Bitpaar enthält und daß die Ausgangsbitgruppe ebenfalls ein Bitpaar zur Identifizierung einer von vier Speicherzuordnungseinheiten enthält.
  9. 9. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Eingabe/Ausgabe-Prozessor ferner eine Einrichtung enthält, die verhindert, daß irgendein anderer Prozessor einen Zugriff auf den Speicher im Primärprozessor ausübt, wenn der Eingabe/Ausgabe-Prozessor eine Lese-Modifizierungs-Schreib-Operation an Daten im Speicher des Primärprozessors durchführt.
  10. 10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß die .Einrichtung zum Verhindern des Zugriffs auf den Speicher im Hilfsprozessor eine Vorrichtung zur Erzeugung eines Zugriffsperrsignals enthält, das beginnt, wenn die Daten im Speicher des Primärprozessors durch den Eingabe/Ausgäbe-Prozessor gelesen werden, und das endet, wenn die modifizierten Daten wieder in den Speicher des Primärprozessors geschrieben worden sind.
    909830/0820
DE19792902465 1978-01-23 1979-01-23 Datenverarbeitungsanordnung Withdrawn DE2902465A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/871,689 US4296466A (en) 1978-01-23 1978-01-23 Data processing system including a separate input/output processor with micro-interrupt request apparatus

Publications (1)

Publication Number Publication Date
DE2902465A1 true DE2902465A1 (de) 1979-07-26

Family

ID=25357922

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792902465 Withdrawn DE2902465A1 (de) 1978-01-23 1979-01-23 Datenverarbeitungsanordnung

Country Status (10)

Country Link
US (1) US4296466A (de)
JP (1) JPS54113230A (de)
AU (1) AU525622B2 (de)
CA (1) CA1114911A (de)
DE (1) DE2902465A1 (de)
DK (1) DK3879A (de)
FR (1) FR2415338A1 (de)
GB (1) GB2013008B (de)
NL (1) NL7900357A (de)
SE (1) SE7900139L (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0028335A1 (de) * 1979-11-06 1981-05-13 International Business Machines Corporation Multiprozessorsystem mit Ein-/Ausgabe-Unterbrechungsbehandlungsmechanismus

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI801896A (fi) * 1980-06-12 1981-12-13 Elevator Gmbh Foerfarande och anordning foer att foermedla utomstaoende inkommande- och utgaoendedata i ett processystem
IT1149252B (it) * 1980-09-09 1986-12-03 Sits Soc It Telecom Siemens Modulo di ingresso-uscita per un elaboratore elettronico
SE8106273L (sv) * 1980-11-03 1982-05-04 Western Electric Co Anordning for samutnyttjning och interkommunikation vid skivaggregat i databehandlingssystem
US4441162A (en) * 1981-04-22 1984-04-03 Pitney Bowes Inc. Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium
WO1983001135A1 (en) * 1981-09-18 1983-03-31 Rovsing As Christian Multiprocessor computer system
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
AU576348B2 (en) * 1984-02-29 1988-08-25 Measurex Corporation Processing information
US4757443A (en) * 1984-06-25 1988-07-12 Data General Corp. Data processing system with unified I/O control and adapted for display of graphics
US4805097A (en) * 1984-08-03 1989-02-14 Motorola Computer Systems, Inc. Memory management unit with dynamic page allocation
GB2173326B (en) * 1985-03-18 1989-06-21 Nitsuko Ltd Data transmission system
US4707803A (en) * 1985-06-17 1987-11-17 International Business Machines Corporation Emulator for computer system input-output adapters
GB8601117D0 (en) * 1986-01-17 1986-02-19 Barcrest Ltd Computer terminal auxiliary device
US4827409A (en) * 1986-07-24 1989-05-02 Digital Equipment Corporation High speed interconnect unit for digital data processing system
US4961067A (en) * 1986-07-28 1990-10-02 Motorola, Inc. Pattern driven interrupt in a digital data processor
EP0266800B1 (de) * 1986-11-07 1995-03-15 Nec Corporation Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten
JP2530829B2 (ja) * 1987-01-16 1996-09-04 株式会社日立製作所 直接メモリアクセス制御装置とマルチマイクロコンピュ―タシステム内におけるデ―タ転送方法
US5241661A (en) * 1987-03-27 1993-08-31 International Business Machines Corporation DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
JPH0679305B2 (ja) * 1987-05-01 1994-10-05 ディジタル イクイプメント コーポレーション 保留バスを用いて割り込みに応じる装置及び方法
US4937733A (en) * 1987-05-01 1990-06-26 Digital Equipment Corporation Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US4858116A (en) * 1987-05-01 1989-08-15 Digital Equipment Corporation Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
WO1988008575A1 (en) * 1987-05-01 1988-11-03 Digital Equipment Corporation Interrupting node for providing interrupt requests to a pended bus
US4953072A (en) * 1987-05-01 1990-08-28 Digital Equipment Corporation Node for servicing interrupt request messages on a pended bus
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
US4941083A (en) * 1987-05-01 1990-07-10 Digital Equipment Corporation Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
US5513332A (en) * 1988-05-31 1996-04-30 Extended Systems, Inc. Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween
JPH0731666B2 (ja) * 1988-06-03 1995-04-10 日本電気株式会社 プロセッサ間通信方式
US5041970A (en) * 1988-08-03 1991-08-20 Intelligent Computer Engineering, Inc. Cell processor and memory-managed computer system using same
US5131081A (en) * 1989-03-23 1992-07-14 North American Philips Corp., Signetics Div. System having a host independent input/output processor for controlling data transfer between a memory and a plurality of i/o controllers
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
JPH05134960A (ja) * 1991-11-08 1993-06-01 Nec Corp ローカルプロセツシング方式
US5390332A (en) * 1992-09-15 1995-02-14 Sun Microsystems, Inc. Method and apparatus for performing a takeover of a microprocessor
US5638530A (en) * 1993-04-20 1997-06-10 Texas Instruments Incorporated Direct memory access scheme using memory with an integrated processor having communication with external devices
US5664198A (en) * 1994-10-26 1997-09-02 Intel Corporation High speed access to PC card memory using interrupts
WO1997006490A1 (en) * 1995-08-09 1997-02-20 Cirrus Logic, Inc. Parasitic personal computer interface
US5924118A (en) * 1997-04-14 1999-07-13 International Business Machines Corporation Method and system for speculatively sourcing cache memory data prior to upstream cache invalidation within a multiprocessor data-processing system
US6078991A (en) * 1997-04-14 2000-06-20 International Business Machines Corporation Method and system for speculatively requesting system data bus for sourcing cache memory data within a multiprocessor data-processing system
US6055608A (en) * 1997-04-14 2000-04-25 International Business Machines Corporation Method and system for speculatively sourcing cache memory data within a multiprocessor data-processing system
US5895484A (en) * 1997-04-14 1999-04-20 International Business Machines Corporation Method and system for speculatively accessing cache memory data within a multiprocessor data-processing system using a cache controller
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3368207A (en) * 1965-05-12 1968-02-06 Ibm File protection to i/o storage
US3673576A (en) * 1970-07-13 1972-06-27 Eg & G Inc Programmable computer-peripheral interface
US3728682A (en) * 1971-03-11 1973-04-17 Rca Corp Computer input-output chaining system
US3766526A (en) * 1972-10-10 1973-10-16 Atomic Energy Commission Multi-microprogrammed input-output processor
US3997875A (en) * 1973-01-08 1976-12-14 U.S. Philips Corporation Computer configuration with claim cycles
US3973244A (en) * 1975-02-27 1976-08-03 Zentec Corporation Microcomputer terminal system
US3990051A (en) * 1975-03-26 1976-11-02 Honeywell Information Systems, Inc. Memory steering in a data processing system
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4079452A (en) * 1976-06-15 1978-03-14 Bunker Ramo Corporation Programmable controller with modular firmware for communication control
US4124891A (en) * 1976-11-18 1978-11-07 Honeywell Information Systems Inc. Memory access system
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4099243A (en) * 1977-01-18 1978-07-04 Honeywell Information Systems Inc. Memory block protection apparatus
US4080652A (en) * 1977-02-17 1978-03-21 Xerox Corporation Data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0028335A1 (de) * 1979-11-06 1981-05-13 International Business Machines Corporation Multiprozessorsystem mit Ein-/Ausgabe-Unterbrechungsbehandlungsmechanismus

Also Published As

Publication number Publication date
GB2013008A (en) 1979-08-01
NL7900357A (nl) 1979-07-25
GB2013008B (en) 1982-03-10
CA1114911A (en) 1981-12-22
FR2415338A1 (fr) 1979-08-17
DK3879A (da) 1979-07-24
US4296466A (en) 1981-10-20
JPS54113230A (en) 1979-09-04
AU525622B2 (en) 1982-11-18
AU4322679A (en) 1979-08-02
SE7900139L (sv) 1979-07-24

Similar Documents

Publication Publication Date Title
DE2902465A1 (de) Datenverarbeitungsanordnung
DE69930614T2 (de) VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen
DE2657848C2 (de)
DE2523372C3 (de) Eingabe-/Ausgabe-Anschlußsteuereinrichtung
DE2722099C2 (de)
DE102007025397B4 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
DE2517276A1 (de) Datenverarbeitungssystem
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE69839194T2 (de) Gerät und verfahren zum initieren hardwarevorrangsmanagement durch softwarekontrollierten registerzugriff
DE2755952C2 (de)
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
CH619309A5 (de)
DE2948285A1 (de) Adressensteuersystem fuer softwaresimulation
DE2755616C2 (de) Datenverarbeitungsanlage
DE3942669A1 (de) Virtuelles maschinensystem
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE2750721A1 (de) Ein/ausgabe-system
DE2411963A1 (de) Datenverarbeitungsanlage
DE3735828C2 (de) Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
CH615521A5 (de)
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2721623A1 (de) System zur bearbeitung eines zielsystemprogrammes
DE2638125A1 (de) Datenverarbeitungssystem
DE60027357T2 (de) Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet
EP0500973A1 (de) Initialisierungsroutine im EEPROM

Legal Events

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