DE2902465A1 - Datenverarbeitungsanordnung - Google Patents
DatenverarbeitungsanordnungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling 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.
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)
- Patenten ν'altsDipl.-Ing. Dipl -Chem. Dipl -Ing 290 2E. Prinz - Dr. G, Hauser - G. LeiserErnsbeigerstrasse 198 München 60Unser Zeichen; D 719 19.Januar 1979DATA 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 durcheinen 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 Programm909830/0820in 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. 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. 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. 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. 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, undeine MAP-Einrichtung, die abhängig von dem Freigabesignal bestimmt, ob die Speicherbezugnahme auf den Ortsspeicher oder den Speicher im Primärprozessor erfolgt,»
- 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. 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. 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. 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. 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
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)
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)
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)
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 |
-
1978
- 1978-01-23 US US05/871,689 patent/US4296466A/en not_active Expired - Lifetime
-
1979
- 1979-01-04 DK DK3879A patent/DK3879A/da not_active Application Discontinuation
- 1979-01-08 SE SE7900139A patent/SE7900139L/ not_active Application Discontinuation
- 1979-01-09 AU AU43226/79A patent/AU525622B2/en not_active Expired - Fee Related
- 1979-01-17 NL NL7900357A patent/NL7900357A/xx not_active Application Discontinuation
- 1979-01-22 GB GB792154A patent/GB2013008B/en not_active Expired
- 1979-01-22 FR FR7901556A patent/FR2415338A1/fr active Pending
- 1979-01-23 JP JP648479A patent/JPS54113230A/ja active Pending
- 1979-01-23 DE DE19792902465 patent/DE2902465A1/de not_active Withdrawn
- 1979-01-23 CA CA320,117A patent/CA1114911A/en not_active Expired
Cited By (1)
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 |