DE2744531C2 - Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage - Google Patents

Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage

Info

Publication number
DE2744531C2
DE2744531C2 DE2744531A DE2744531A DE2744531C2 DE 2744531 C2 DE2744531 C2 DE 2744531C2 DE 2744531 A DE2744531 A DE 2744531A DE 2744531 A DE2744531 A DE 2744531A DE 2744531 C2 DE2744531 C2 DE 2744531C2
Authority
DE
Germany
Prior art keywords
interrupt
dma
cycle
signal
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2744531A
Other languages
English (en)
Other versions
DE2744531A1 (de
Inventor
Paul Michael Princeton N.J. Russo
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.)
RCA Corp
Original Assignee
RCA 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 RCA Corp filed Critical RCA Corp
Publication of DE2744531A1 publication Critical patent/DE2744531A1/de
Application granted granted Critical
Publication of DE2744531C2 publication Critical patent/DE2744531C2/de
Expired 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Description

dadurch gekennzeichnet, daß
j) eine Schaltungsanordnung (112, 116) vorgesehen ist, die durch das Unterbrechungsantwortsi- to gnal (INT CYCLE) gesteuert ist und mittels eines Ausgangssignals (DMA-IN REQ) die Einrichtung zum direkten Speicherzugriff veranlaßt, einen auf den laufenden Unterbrechungszykius unmittelbar folgenden DMA-Zyklus zu es beginnen, und daß
k) die Ausgangsschaltung (18a, 186,...; 19,...) zusätzlich durch das Anlegen des DMA-Antwort signals (DMA CYCLE) angesteuert werden, so daß das während des DMA-Zyklus der Datenschieneneinrichtung (110) zugeführte Binärwort im Arbeitsspeicher zur Identifizierung desjenigen Speicherplatzes gespeichert wird, an welchem der Anfang des Unterbrechungsprogramms zur Bedienung der einen anfordernden peripheren Einrichtung (Ei, El. ...) gespeichert ist, die höchste Priorität hat.
2. Anordnung nach Anspruch 1, die eine Taktschaltung enthält, welche zu Ende der Zyklen Taktsignale erzeugt gekennzeichnet durch eine durch die Taktsignale (TPB), das DMA-Antwortsignal (DMACYCLE) und das erzeugte Prioritätsausgangssignal gesteuerte Rückstellanordnung (UND-Glieder 1Oe, 106 ...) cam Zurücksetzen derjenigen Halteschaltung (11), die dem aktivierten Prioritätsausgangssignal entspricht.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jede Ausgangsschaltung
eine Freigabeschaltung (UND-Glieder 18a, 186...), die durch das erzeugte Prioritätsausgangssignal sowie das DMA-Antwortsignal (DMACYCLE) gesteuert ist und ein Freigabesignal erzeugt, und eine Schaltvorrichtung (19) enthält, die unter Steuerung durch das Freigabesignal ein vorgegebenes Binärwort auf die Datenschieneneinrichtung (110) koppelt.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet daß das vorgegebene Binärwort wahlweise einstellbar ist.
5. Anordnung nach Anspruch 1, 2, 3 oder 4, gekennzeichnet durch eine Schaltungsanordnung (21, 22, 23, 24, 212), die durch das DMA-Antwortsignal (DMA CYCLE) steuerbar ist und einen zweiten DMA-Zyklus einleitet; eine Schaltungsanordnung (211), die ein zweites DMA-Antwortsignal liefert; und eine Ausgangsschaltung (28ö, 296/ die durch dieses zweite DMA-Antwortsignal und durch das aktivierte Prioritätsausgangssignal gesteuert ist und ein zweites vorbestimmtes Binärwort der Datenschieneneinrichtung (110) zuführt.
Die Erfindung betrifft eine Anordnung gemäß dem Oberbegriff des Anspruchs 1. Derartige Anordnungen sind bekannt aus »IEEE Spectrum«, Bd. 11 September
1974, Seiten 59 bis 67 sowie »Der Elektroniker«, Nr. 10,
1975. S. EL 12 bis EL 23.
Periphere Einrichtungen, die in Verbindung z. B. mit einem Mikroprozessor zur Datenspeicherung verwendet werden, arbeiten viel langsamer als der Prozessor. Durch Unterbrechung der normalen Durchführung der aufeinanderfolgenden Befehle seines Programms kann der Prozessor als Antwort auf ein äußeres Signal eine periphere Einrichtung bedienen oder eine Verzweigung durchführen und auf eine bestimmte Stelle in der Befehlsfolge umschalten und Befehle ausführen, während er auf die Bedienung der peripheren Einrichtungen wartet, d. h. Daten liefert oder empfängt oder den Betrieb der Einrichtung beendet. Durch Unterbrechungen kann man ferner Programme anpassungsfähiger machen und ganz allgemein angeben, auf welche von mehreren möglichen Verzweigungen in Abhängigkeit von irgendwelchen äußeren Kriterien bei der Durchführung des Pro-
gramms übergangen werden soil. Dies erfolgt manchmal durch Schalterglieder (sog. Unterbrechungsstellen), die mit Hilfe spezieller Befehle abgefragt werden.
Normalerweise gibt es für den Prozessor nur ein einziges Unterbrechungssignal. Wenn mehrere Einrichtungen eine Unterbrechung bewirken können, werden ihre Unterbrechungs-Anforderungssignale durch eine ODER-Verknüpfung zu dem einen Unterbrechungssignal zusammengefaßt. Das Auftreten des Unierbrechungssignals veranlaßt den Prozessor, auf ein erstes Unterprogramm umzuschalten, durch das festgestellt wird, welche Einrichtung das Unterbrechungssignal verursachi hat und welches Unterprogramm als nächstes ausgeführt werden soll. Ein Verfahren zur Identifizierung der unterbrechenden Einrichtung besteht im Abfragen (polling), bei dem externe Meldeleilungen zur Identifizierung der betreffenden Einrichtung verwendet werden oder die Einrichtungen der Reihe nach durch einen speziellen Befehl abgefragt werden, bis die aktive Einrichtung gefunden ist.
Bei Anlagen, in denen manche Einrichtungen schneller bedient werden müssen als andere, verwendet man ein Unterbrechungssystem mit Priorität. Beispielsweise muß ein schnelles Magnetbandlesegerät häufiger bedient werden als ein Lochstreifenleser, da es mit einer höheren Zeichenrate arbeitet und die zulässige Pufferzeil wegen der höheren Daienflußgeschwindigkeit kürzer ist. In diesem Falle muß man dann nicht nur feststellen, welche Einrichtung eine Unterbrechung angefordert hat, sondern auch, welche von mehreren ur.ierbrechenden Einrichtungen die höchste Priorität hat und daher zuerst bedient werden muß.
Bei der Bedienung mehrerer Peripheriegeräte kann man mit »gezielter« (vectored) Unterbrechung arbeiten, d. h. mit mehreren Antworten auf das Unterbrechungssignal. Manchmal werden mehrere Unterbrechungsleitungen vorgesehen. Im Falle einer einzigen Unlerbrechungslcitung werden die möglichen Quellen für die Unterbrechung abgetastet oder abgefragt, und auf Grund der Ergebnisse wird bestimmt, welches Unterprogramm oder welche Programmverzweigung durchzuführen ist. Bisher waren für die gezielten Unterbrechungen viel Programmaufwand und Pro/cssorzeit erforderlich, insbesondere wenn Unterbrechungsprioriiätcn gefordert werden. Im besonderen Maße gilt dies für Mikroprozessoren, bei denen die Befehle im allgemeinen einfache: sind als in größeren Anlagen.
Ferner besteht bei Daten-Vcrarbeitungsanlagen die Möglichkeit eines direkten Speicherzugrifl's (DMA) zur Übertragung von Daten von äußeren Quellen in den Speicher oder zur direkten Entnahme von Daten aus dem Speicher ohne Störung der Durchführung dei; laufenden Programms. Zu diesem Zweck werden gewöhnlich in einem speziellen DMA-Zyklus ein Register, das als »Zeiger« (pointer) bekannt ist, mit dem Speicheradressenbus gekoppelt und Daten an der adressierten Stelle gespeichert oder gelesen. Da die Programmdurchführung gewisse Zyklen erfordert, setzt ein DMA-Zyklus den Ablauf der normalen Programmausführung nur für eine Zyklusdauer aus.
Systeme mit »ge/ielter« (vectored) Prioritätsunterbrcchung und der Möglichkeit von DMA-Zyklen sind iius den beiden eingangs erwähnten Druckschriften bckiinni. Sie beschreiben auch, wie eine Unterbrechungsanlorderung von einem der Peripheriegeräte zustande koinmi, wie die Unterbrechungsanforderung zur Einleitung einer Unterbreehungsroulinc im Prozessor vcrwendcl wird, und wie die von den anfordernden Peripheriegeräten erzeugten Flag-Signale eine Anfangsadresse des Speichers Für eine Unterbrechungs-Subroutine umgewandelt werden, die besonders für die Bedienung des Peripheriegerätes höchster Priorität geeignet ist Bei den bekannten Systemen können während der Unterbrechungs-Subroutine zwischen dem anfordernden Peripheriegerät und dem Speicher des Prozessors Informationen ausgetauscht werden. Ferner besteht die Möglichkeit, nach Zusammenstellung eines bestimmten »Blockes« von zu oder von einem gegebenen Peripheriegerät zu übertragenden Informationen einen DMA-Zyklus auszuführen (vgl. »IEEE Spectrum«). Während jedes DMA-Zyklus wird ein Speicherplatz zu dem Zweck adressiert, ohne Unterbrechung des Prozessorbetriebes Informationen zum oder vom Prozessorspeicher zu bewegen, die somit zwischen dem Prozessorspeicher und einem gesonderten Speicher wie z. B. einem Plattenspeicher übertragen werden können. Hierbei wird im bekannten Fall unterschieden zwischen Informationsübertragung zwischen entsprechenden Peripheriegeräten und dem Prozessorspeicher durch Unterbrechungs-Subroutinen und der übertragung von Informationen, die zur Verwendung durch ein besonderes Peripheriegerät (z. B. Plattenspeicher) zusammengestellt wurden, zwischen dem Prozessorspeicher und einem besonderen Peripheriegerät durch DMA-Zyklen. Es war bisher nicht bekannt, DMA-Zyklen zur Auswahl der Unterbrechungs-Subroutinen zu verwenden.
Der Erfindung liegt die Aufgabe zugrunde, eine An-Ordnung der eingangs genannten Art zu schaffen, welche unter Verwendung an sich bekannter, in der Datenverarbeitungsanlage bereits vorhandener Mittel einfacher als bisher und in kürzerer Zeit eine »gezielte« Unterbrechung zur Bedienung der jeweils prioritätshöchsten peripheren Einrichtung ermöglicht.
Diese Aufgabe wird durch die im Anspruch 1 gekennzeichnete Anordnung gelöst.
Durch die Erfindung wird v. a. eine Abkürzung beim Start einer Unterbrechungs-Subroutine erreicht, die speziell den Bedürfnissen der jeweils mit höchster Priorität zu bedienenden peripheren Einrichtung entspricht, und zwar ohne wesentlichen zusätzlichen Schaltungsaufwand.
Ausführungsbeispiele der Erfindung werden anhand der Zeichnung näher erläutert. Es zeigt
Fig. 1 eine Ausführungsform der Erfindung, die sich für ein System eignet, bei welchem für die Spezifizierung einer Unterprogrammadresse nur ein einziges Datenwort erforderlich ist;
so F i g. 2 eine Abwandlung der Schaltungsanordnung gemäß F i g. 1 für ein System, bei dem für eine Unterprogrammadresse zwei Datenwörter benötigt werden, und
F i g. 3 ein Blockschaltbild einer Abwandlung eines Teiles der Anordnung gemäß F i g. 1.
Bei einem bevorzugten Ausführungsbeispiel der Erfindung wird ein Übergang auf ein Unterprogramm, das der unterbrechenden Einrichtung höchster Priorität zugeordnet ist, unter Verwendung der DMA-Möglichkeit bo des zugeordneten Prozessors bewerkstelligt, bei dem es sich um einen COSMAC-Mikroprozessor handeln kann. Der COSMAC-Mikroprozessor kann je nach Art des auszuführenden Zyklus mehrere interne Zustände annehmen. Zum Beispiel führt der Prozessor in einem inb1) ternen Zustand einen Abruf-Zyklus durch, um den nächsten Befehl, der auszuführen ist. aus dem zugehörigen Speicher zu entnehmen. In einem anderen internen Zustand führt der Prozessor einen Ausführungszyklus
durch, bei dem der während des vorangegangenen Abruf-Zyklus gelesene Befehl durchgeführt wird. Die meisten COSMAC- Befehle erfordern nur einen einzigen Ausführungszyklus; es gibt jedoch einige wenige Befehle, für deren Ausführung zwei solcher Zyklen nötig sind. In wieder einem anderen internen Zustand führt der Prozessor einen Unterbrecherzyklus durch, während dessen a) die Inhalte des Programmzählers für das laufende Programm und der Operanden-Hinweisadresse (Zeiger) in einem speziellen Register gespeichert werden und b) bestimmte Register in der Registeranordnung als Programmzähler für das neue Programm und als »Zeiger« für den neuen Operanden bestimmt werden. Der Unterbrechungszyklus wird als Antwort auf ein Unterbrechungs-Anforderungssignal begonnen; es setzt das laufende Programm aus und bewirkt eine Verzweigung auf ein anderes Programm, das durch den Inhalt des Programmzähler adressiert wird.
In wieder einem anderen internen Zustand führt der Prozessor einen DMA-Zyklus durch. Ein solcher DMA-Zyklus wird durch ein von außen eingegebenes DMA-Anforderungssignal eingeleitet Es gibt zwei DMA-Anforderungssignale, ein DMA-EIN-Signal und ein DMA-AUS-Signal, je nachdem, ob eine Speicherung im Speicher oder ein Lesen aus dem Speicher erfolgen soll. Ein spezielles Register enthält die entsprechende DMA-Hinweisadresse und wird nach jedem DMA-Zyklus automatisch um eine Einheit erhöht.
Während jedes Zyklus liefert der COSMAC-Mikroprozessor zwei Taktimpulse. Der eine Impuls (TPA) tritt in der Nähe des Anfangs des Zyklus auf. Der andere Impuls (TPB) tritt in der Nähe des Endes des Zyklus auf. Die Taktimpulse und die internen Zustände des Mikroprozessors stehen an äußeren Anschlüssen zur Verfügung, wobei die Art des Zyklus durch Zustandscodesignale angezeigt wird, die für jeden internen Zustand eine eindeutige Kombination enthalten.
Bei der Verwendung der hier beschriebenen Anordnung wird die DMA-Hinweisadresse (Zeiger) des Prozessors anfänglich auf die Adresse des Adressenteiles eines Verzwcigungsbefehles eingestellt, der durch die Unterbrechungs-Hinweisadressr adressiert wird. Da einer Unterbrechungsanforderur.f eine DMA-EIN-Anforderung folgt, ist bei Adresse, auf welche der anfängliche Verzweigungsbefehl des Unterbrechungsprogrammes übergeht, der Platz, der durch das Wort auf der Datenschiene während des DMA-Zyklus angegeben wird. Ein kurzer Verzweigungsbefehl erfordert nur eine Adresse aus einem einzigen Byte (acht Bits) und veranlaßt einen Übergang auf einen Platz auf derselben »Seite« wie der Verzweigungsbefehl (eine Seite ist eine Gruppe von Speicherplätzen, die die gleichen höherstelligen Adressenbits haben). Ein langer Verzweigungsbefehl erfordert eine Adresse von zwei Bytes und bewirkt einen Übergang auf einen beliebigen Platz im Speicher.
Bei der Schaltungsanordnung gemäß F i g. 1 setzen die Bedienungsanforderungssignale von verschiedenen Einrichtungen Ei. E2 ... En jeweils ein eigenes Flip-Flop einer Gruppe von Flip-Flops oder Halteschaltungen 11. Die Bedienungsanforderungssignale werden den entsprechenden Halteschaltungen über UND-Glieder 12 zugeführt, welche durch das Ausgangssignal von einem Inverter 14 durchlaßbereit gemacht werden, wenn kein Unterbrechungsanforderungssignal INT REQ vorliegt Das Unterbrechungsanforderungssignal wird durch ein ODER-Glied 15 erzeugt, das das letzte in einer Gruppe von hintereinander geschalteten ODER-Gliedern, wie den ODER-Gliedern 16a und 16& ist Die hintereinander geschalteten ODER-Glieder haben die Aufgabe, ein Unterbrechungsanforderungssignal an der Ausgangsklemme des ODER-Gliedes 15 zu erzeugen, wenn mindestens eine der Halteschaltungen 11 durch ein Bedienungsanforderungssignal gesetzt ist
Es sei angenommen, daß die Einrichtung I- I die höchste Priorität, die Einrichtung £2 die nächst niedrigere Priorität usw. habe, bis zur Einrichtung En, die die niedrigste Priorität hat Wenn mehrere Unterbrcehungsanforderungssignale gleichzeitig auftreten, ist eins der höchsten Priorität bestimmend, wie aus der folgenden Erläuterung ersichtlich ist Wenn die Einrichtung E 1 ein Bedienungsanforderungssignal erzeugt, während kein Unterbrechungsanforderungssignal vorhanden ist. macht das Setzausgangssignal von der zugehörigen Halteschaltung ein UND-Glied i8<? durchiaBbereii. tastet ein ODER-Glied 166 auf und sperrt ein NOR-Glied 17a. Das Ausgangssignal des ODER-Gliedes 166 sperrt ein NOR-Glied i7b und tastet das ODER-Glied 16a auf. In entsprechender Weise werden durch das Setzausgangssignal von der der Einrichtung E1 zugeordneten Halteschaltung alle NOR-Glieder 17a bis 17cgesperrt.
Wenn die Einrichtung E2 die Einrichtung höchster Priorität wäre, die eine Bedienung anfordert, würde die zugehörige Halteschaltung das NOR-Glied 17a mit dem Rücksetzausgangssignal ansprechbereit machen, und da die der Einrichtung Ei zugeordnete Halteschaltung nicht gesetzt ist, würde das NOR-Glied 17a ansprechen und ein Ausgangssignal liefern, das ein UND-Glied ISb ansprechbereit macht. Die nachgeordneten NOR-Glieder werden durch das Setzausgangssignal von der Einrichtung E2 zugeordneten Halteschaltung über die ODER-Glieder i6b. 16a usw. gesperrt Wenn irgendeines der ODER-Glieder 16a usw. aufgetastet wird. spricht auch das ODER-Glied 15 an und erzeugt ein Unterbrechungsanforderungssignal.
Die Ausgangs-Verkniipfungsschaltungen. wie die UND-Glieder 18a und 18i>, liefern ein Freigabcsignal an eine Adressenausgangseinrichtung, wie eine Schaltvorrichtung 19. Die Schaltvorrichtung 19 enthält eine Anzahl von Torschaltungen 191 bis 193, die das Ausgangssignal von einem zugeordneten Schalter auf eine entsprechende Leitung einer Datenschieneneinrichtung 110 koppeln. Die Schalter können so eingestellt werden, daß sie eine logische Eins oder Null auf die entsprechende Datenschinenleitung geben, wenn die Torschaltungen 19 bis 193 durch das Ausgangssignal vom UND-Glied 18a aufgetastet werden.
Im Mikroprozessor wird als Antwort auf das Untcrbrechungsanforderungssignal INT REQ ein Unterbrechungsantwortsignal INTCYCLE erzeugt, welches ein UND-Glied 112 ansprechbereit macht, das während dieses Zyklus durch das Taktsignal TPA aufgetastet wird. Das Ausgangssignal des UND-Gliedes 12 taktet ein Flip-Flop 116 vom D-Typ in den gesetzten Zustand, da die Datenklemme mit einem Signal (+V? entsprechend einer logischen Eins gekoppelt ist Das Setzausgangssignal vom Flip-Flop 116 liefert das DMA-ElN-Anforderungssignal, d.h. das Ausgangssignal DMA-IN REQ. (Die COSMAC-Organisation ist so ausgelegt, daß einem DMA-Zyklus Priorität nach einem Unterbrechungszyklus gegeben wird.) Im Anschluß an den Unterbrechungszyklus tastet das DMA-Antwortsignal DMA CYCLE eines der UND-Glieder 18a, 18Z) auf, das durch das Prioritätssignal ansprechbereit gemacht worden war. Das ansprechende UND-Glied tastet die zugehörige Torschaltung auf. so daß die voreingestellte Adresse aus acht Bits auf die Datenschieneneinrichtung
110 gekoppelt wird.
Das DMA-CYCLE-Signal macht ferner ein UND-Glied 117 ansprechbereit, das während des Taktsignals TPA des Zyklus das Flip-Flop 116 zurücksetzt und das Ausgangssignal DMA-IN REQ abschaltet. Das DMA-CYCLE-Signal macht ferner eine Gruppe von UND-Gliedern 10a bis 10c/ansprechbereit. Die UND-Glieder 10a bis 10c/werden außerdem durch das Aktivierungssignal von der Einrichtung der höchsten Priorität ansprechbereit gemacht. Das Taktsignal TPB, das während des DMA-Zyklus auftritt, tastet nun eines der UND-Glieder 10a bis 10c/auf. um die Halteschaltung zurückzusetzen, die den vorangegangenen Unterbrechungszyklus eingeleitet hatten. Bei dem vorliegenden Beispiel hatte das NOR-Giied I7a angesprochen und das UND-Glied 10b ansprechbereit gemacht, so daß dieses UND-Glied aufgelastet wird und die Halteschaltung 11 der Einrichtung £2 zurücksetzt. Wenn irgendwelche Halteschaltungen 11 niedrigerer Prioritäten gesetzt sind, bleiben sie jedoch gesetzt, da die ihnen zugeordneten NOR-Glieder 17 gesperrt sind. In diesem Falle bleibt das Unterbrechungsanforderungssignal INT REQ bestehen, und es wiederholt den oben geschilderten Operationszyklus (nachdem das Unterbrechungsprogramm für die Einrichtung höherer Priorität beendet ist).
Die oben geschilderte Operationsfolge setzt sich fort, bis alle Flip-Flops oder Halteschaltungen 11 zurückgesetzt sind. Hierdurch werden die UND-Glieder 12 für den Empfang der nächsten Bedienungsanforderungssignale ansprechbereit gemacht. (Die UND-Glieder 12 verhindern, daß eine Halteschaltung höherer Priorität zurückgesetzt wird, wenn eine Halteschaltung höherer Priorität gerade in dem Augenblick gesetzt wird, in dem das Rücksetzsignal von einer Einrichtung niedriger Priorität auftritt. Dies würde bewirken, daß die Einrichtung niedriger Priorität eine neue Unterbrechung bewirkt, da die ihr zugehörige Halteschaltung nicht zurückgesetzt wurde und die Einrichtung höherer Priorität nicht bedient wurde. Alternativ könnten die UND-Glieder 12 während des DMA-Zyklus gesperrt werden, was Bedienungsanforderungen hoher Priorität ermöglichen würde, die zugehörigen Halteschaltungen zu setzen, bevor die Einrichtungen niedrigerer Priorität bedient werden.)
Nach jedem Unterbrechungszyklus und dem folgenden DMA-Zyklus wird das geeignete Unterprogramm ausgeführt. Wenn eine Unterbrechung aktiviert wird, verhindert der Prozessor weitere Unterbrechungen, bis das zugeordnete Unterprogramm vollendet ist. (Man beachte, daß das Unterbrechungs-unterprogramm einen Schritt enthält, bei dem die DMA-Hinweisadresse des Prozessors zurückgeschaltet wird, so daß die Hinweisadresse wieder den Speicherplatz des Prozessors adressiert, der auch durch die Unterbrechungs-Hinweisadresse adressiert wird.)
Fig.2 zeigt ein Schaltwerk zur Abwandlung der Schaltungsanordnung gemäß F i g. 1 für den Fall, daß eine Verzweigungsadres.se aus zwei Bytes zu speichern ist. Für jede Unterbrechiingseinrichtung sind zwei Schaltvorrichtungen erforderlich, und es müssen zwei aufeinanderfolgende DMA-Zyklen erzeugt werden. Das Flip-Flop 116 und das UND-Glied 112 des Schaltwerkes gemäß F i g. 2 arbeiten in der gleichen Weise wie bei der Schaltungsanordnung gemäß Fig. 1. Während eines Taktsignals TPA des ersten der beiden DMA-Zyklen wird ein UND-Glied 21 erregt das ein Flip-Flop 22 vom RS-Typ setzt. Das Setzausgangssignal vom Flip-Flop 22 und das Rücksetzausgangssignal von einem Flip-Flop 24 tasten ein UND-Glied 210 auf, dessen Ausgangssignal ein UND-Glied 28a eines Paares von UND-Gliedern 28a, 2%b ansprechbereit macht. Den anderen Eingängen
ι der UND-Glieder 28a, 28i> wird ein Prioritätsdecodierer-Ausgangssignal von der Halteschaltung hoher Priorität oder einen der NOR-Glieder 17a bis 17c zugeführt. Wenn das UND-Glied 28a aufgetastet wird, erregt es eine Schaltvorrichtung 29a für das erste Adressenwort, welche das erste Byte der aus zwei Bytes bestehenden Adresse auf die Datenschieneneinrichtung gibt. Beim folgenden Taktsignal TPB wird das Flip-Flop 24 über ein UND-Glied 23 gesetzt. Das Taktsignal, das während des zweiten der beiden DMA-Zyklen auftritt, läßt ein
n UND-Glied 212 ansprechen, das durch das Setzausgangssignal vom Flip-Flop 24 ansprechbereit gemacht ist und das Flip-Flop 22 zurücksetzt. Das Rücksetzausgangssignal vom Flip-Flop 24 sperrt das UND-Glied 21, so daß dem Flip-Flop 22 während des zweiten DMA-Zyklus kein Setzsignal zugeführt wird. Das Setzausgangssignal vom Flip-Flop 24 und das Rücksetzausgangssignal vom Flip-Flop 22 lassen ein UND-Glied 211 ansprechen, dessen Ausgangssignal das zweite UND-Glied 28i» der aktivierten unterbrechenden Einrichtung ansprechbereit macht, um die zugehörige zweite Schaltvorrichtung 296 zu erregen, die das zweite Byte der aus zwei Bytes bestehenden Adresse an die Datenschiene legt.
Das Taktsignal TPB, das während des zweiten DMA-Signals auftritt, läßt ein UND-Glied 213 ansprechen, welches das Flip-Flop 24 zurücksetzt. Das UND-Glied 213 liefert ferner ein Freigabesignal an das Rücksetz-UND-Glied 20c/der zugehörigen Halteschaltungen. Das Schaltwerk gemäß F i g. 2 erzeugt zwei aufeinanderfolgende DMA-EIN-Zyklen, durch die zwei aufeinanderfolgende Bytes gespeichert werden, welche die Adresse darstellen, auf die das Unterbrechungs-Unterprogramm übergehen soll. Man beachte, daß das Unterbrechungs-Unterprogramm in diesem Falle zwei Zurückschaltungsschritte für die DMA-Hinweisadresse des Prozessors enthält, so daß die DMA-Hinweisadresse am Ende des Unterprogramms wieder den Speicherplatz adressiert, der auch durch die Unterbrechungs-Hinweisadresse adressiert wird. Im übrigen arbeitet das Schaltwerk gemäß F i g. 2 in der oben beschriebenen Weise.
F i g. 3 zeigt eine alternative Schaltvorrichtung, die anstelle der Schaltvorrichtung 19 verwendet werden kann. Die Schaltvorrichtung gemäß F i g. 3 enthält einen Festwertspeicher 31, der an die Datenschiene Daten-Wörter, die durch die Zustandssignale von der unterbrechenden Einrichtung gewähii werden, liefert, wenn er durch das Ausgangssignal vom UND-Glied 18 in der oben beschriebenen Weise freigegeben wird. Diese im Festwertspeicher 31 ausgewählte und der Datenschiene zugeführte Unterprogrammadresse hängt von dem Grund (Zustand) der Unterbrechung ab und stellt eine apparative Lösung dar, die ein eigenes Entscheidungsunterprogramm überflüssig macht.
Der oben erläuterte Erfindungsgedanke läßt sich selbstverständlich auch bei anderen Mikroprozessoren und programmgesteuerten Digitalrechnern anwenden. Taktimpulse wie die Taktsignale TPA und TPB können aus dem Haupttakt der Anlage durch Decodierung erzeugt werden, wenn der zugehörige Prozessor sie nicht liefert
Hierzu 2 Blatt Zeichnungen

Claims (1)

Patentansprache:
1. Anordnung zur Auswahl von Unterbrechungsprogrammen in einer zyklisch arbeitenden elektroni- sehen Datenverarbeitungsanlage mit
a) einer Datenschieneneinnchtung.
b) einem Arbeitsspeicher,
c) einer Einrichtung zum direkten Speicherzugriff, welche den Zyklus des direkten Speicherzugriffs (DMA-Zyklus) einleitet und eine Einheit zur Abgabe eines DMA-Antworeignals enthält, das das Vorliegen des DMA-Zyklus anzeigt
d) einer Unterbrechungseinrichtung zum Einleiten is eines von mehreren Unterbrechungsprogrammen, weiche Befehle enthalten, die an versshiedenen Speicherplatzen des Arbeitsspeichers gespeichert sind, wobei die Unterbrechungseinrichtung eine Vorrichtung zum Erzeugen eines Unterbrechungsantwortsignals aufweist und das Unterbrechuogsantwortsignal das Vorliegen eines Unterbrechungszyklus anzeigt,
e) mehreren peripheren Einrichtungen, die asynchron mit der Datenverarbeitungsanlage zu- sammenarbeiten und jeweils ein Bedienungsanforderungssignal zu erzeugen vermögen,
f) einer Anzahl von Halteschaltungen, die jeweils auf ein Bedienungsanforderungssignal einer der peripheren Einrichtungen ansprechen und dieses Bedienungsanforderungssignal speichern,
g) einem Schaltwerk, das durch die ein Bedienungsanforderungssignal speichernden Halteschaltungen steuerbar iii und ein Unterbrechungsanforderungssignal an die Unterbre- chungseinrichtung liefert,
h) einer Prioritätseinrichtung, welche durch die ein Bedienungsanforderungssignal speichernden Halteschaltungen gesteuert ist und ein entsprechendes von mehreren Prioritätsausgangssi- gnalen erzeugt, welches die Identität derjenigen peripheren Einrichtung angibt, die von eine Bedienung anfordernden peripheren Einrichtungen die höchste Priorität hat, und
i) mehreren Ausgangsschaltungen zum Empfang der Prioritätsausgangssignale, die jeweils einer peripheren Einrichtung zugeordnet sind und abhängig von dem erzeugten Prioritätsausgangssignal angesteuert werden, um der Datenschieneneinrichtung ein vorbestimmtes Binär- wort zur Identifizierung desjenigen Speicherplatzes zuzuführen, welcher den Anfang des Unterbrechungsprogramms zur Bedienung der einen anfordernden peripheren Einrichtung, die höchste Priorität hat, speichert, w
DE2744531A 1976-10-04 1977-10-04 Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage Expired DE2744531C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/729,348 US4090238A (en) 1976-10-04 1976-10-04 Priority vectored interrupt using direct memory access

Publications (2)

Publication Number Publication Date
DE2744531A1 DE2744531A1 (de) 1978-04-06
DE2744531C2 true DE2744531C2 (de) 1985-02-07

Family

ID=24930639

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2744531A Expired DE2744531C2 (de) 1976-10-04 1977-10-04 Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US4090238A (de)
JP (1) JPS5355924A (de)
DE (1) DE2744531C2 (de)
FR (1) FR2366627A1 (de)
GB (1) GB1588929A (de)
IT (1) IT1087551B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3715291A1 (de) * 1987-05-08 1988-11-24 Telefonbau & Normalzeit Gmbh Schaltungsanordnung zur erweiterung der anschlussmoeglichkeiten fuer mit einer zentralen steuereinrichtung zusammenarbeitende periphere einheiten

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
IT1192603B (it) * 1977-12-30 1988-04-20 Rca Corp Apparato di interruzione di un programma,su base prioritaria,dotato di mezzi per l'alimentazione diretta dell'indirizzo di salto
US4315314A (en) * 1977-12-30 1982-02-09 Rca Corporation Priority vectored interrupt having means to supply branch address directly
US4403282A (en) * 1978-01-23 1983-09-06 Data General Corporation Data processing system using a high speed data channel for providing direct memory access for block data transfers
US4200912A (en) * 1978-07-31 1980-04-29 Motorola, Inc. Processor interrupt system
GB2038517B (en) * 1978-12-26 1983-05-11 Honeywell Inf Systems Interrupt system
US4240140A (en) * 1978-12-26 1980-12-16 Honeywell Information Systems Inc. CRT display terminal priority interrupt apparatus for generating vectored addresses
US4237535A (en) * 1979-04-11 1980-12-02 Sperry Rand Corporation Apparatus and method for receiving and servicing request signals from peripheral devices in a data processing system
US4310880A (en) * 1979-09-10 1982-01-12 Nixdorf Computer Corporation High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
FR2465269B1 (fr) * 1979-09-12 1985-12-27 Cii Honeywell Bull Selecteur de demandes asynchrones dans un systeme de traitement de l'information
DE3003340C2 (de) * 1980-01-30 1985-08-22 Siemens AG, 1000 Berlin und 8000 München Verfahren und Schaltungsanordnung zur Übertragung von binären Signalen zwischen über ein zentrales Busleitungssystem miteinander verbundenen Anschlußgeräten
IT1145730B (it) * 1981-11-13 1986-11-05 Olivetti & Co Spa Sistema di elaborazione di dati con dispositivo di controllo delle interruzioni di programma
DE3233542A1 (de) * 1982-09-10 1984-03-15 Philips Kommunikations Industrie AG, 8500 Nürnberg Verfahren und schaltungsanordnung zur abgabe von unterbrechungs-anforderungssignalen
US4523277A (en) * 1982-09-30 1985-06-11 Ncr Corporation Priority interrupt system for microcomputer
US4807117A (en) * 1983-07-19 1989-02-21 Nec Corporation Interruption control apparatus
US4627018A (en) * 1983-09-08 1986-12-02 Sperry Corporation Priority requestor accelerator
US4631670A (en) * 1984-07-11 1986-12-23 Ibm Corporation Interrupt level sharing
US4964034A (en) * 1984-10-30 1990-10-16 Raytheon Company Synchronized processing system with bus arbiter which samples and stores bus request signals and synchronizes bus grant signals according to clock signals
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal
JPS62226257A (ja) * 1986-03-27 1987-10-05 Toshiba Corp 演算処理装置
US4961067A (en) * 1986-07-28 1990-10-02 Motorola, Inc. Pattern driven interrupt in a digital data processor
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
US4901234A (en) * 1987-03-27 1990-02-13 International Business Machines Corporation Computer system having programmable DMA control
US5179696A (en) * 1987-07-24 1993-01-12 Nec Corporation Generator detecting internal and external ready signals for generating a bus cycle end signal for microprocessor debugging operation
JPH01180626A (ja) * 1988-01-12 1989-07-18 Mitsubishi Electric Corp 優先順位分解器
JPH02224140A (ja) * 1989-02-27 1990-09-06 Nippon Motoroola Kk 割込試験装置
US5276818A (en) * 1989-04-24 1994-01-04 Hitachi, Ltd. Bus system for information processing system and method of controlling the same
EP0464237A1 (de) * 1990-07-03 1992-01-08 International Business Machines Corporation Busarbitrierungsschema
CA2145553C (en) * 1994-03-30 1999-12-21 Yuuki Date Multi-processor system including priority arbitrator for arbitrating request issued from processors
US6189049B1 (en) * 1998-08-10 2001-02-13 Micron Technology Method for operating processor with internal register for peripheral status
US6374320B1 (en) 1998-08-10 2002-04-16 Micron Technology, Inc Method for operating core logic unit with internal register for peripheral status
US6219720B1 (en) 1998-08-10 2001-04-17 Micron Technology, Inc. Core logic unit with internal register for peripheral status
US6233627B1 (en) 1998-08-10 2001-05-15 Micron Technology, Inc. Processor with internal register for peripheral status
DE69937985T2 (de) * 1998-10-27 2008-12-24 Canon K.K. Bildverarbeitungsvorrichtung und -Verfahren
US20080209089A1 (en) * 2007-02-27 2008-08-28 Integrated Device Technology, Inc. Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
US8094677B2 (en) * 2007-02-27 2012-01-10 Integrated Device Technology, Inc. Multi-bus structure for optimizing system performance of a serial buffer
US8516163B2 (en) * 2007-02-27 2013-08-20 Integrated Device Technology, Inc. Hardware-based concurrent direct memory access (DMA) engines on serial rapid input/output SRIO interface
US7870313B2 (en) * 2007-02-27 2011-01-11 Integrated Device Technology, Inc. Method and structure to support system resource access of a serial device implementating a lite-weight protocol
US7617346B2 (en) * 2007-02-27 2009-11-10 Integrated Device Technology, Inc. Rapid input/output doorbell coalescing to minimize CPU utilization and reduce system interrupt latency

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1232587A (fr) * 1959-06-24 1960-10-10 Bull Sa Machines Perfectionnements aux dispositifs d'organisation interne et de coordination des transferts d'informations dans une machine calculatrice électronique
US3665415A (en) * 1970-04-29 1972-05-23 Honeywell Inf Systems Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
US3800287A (en) * 1972-06-27 1974-03-26 Honeywell Inf Systems Data processing system having automatic interrupt identification technique
JPS5242498B2 (de) * 1972-08-19 1977-10-25
US3766526A (en) * 1972-10-10 1973-10-16 Atomic Energy Commission Multi-microprogrammed input-output processor
US3833888A (en) * 1973-02-05 1974-09-03 Honeywell Inf Systems General purpose digital processor for terminal devices
US3815105A (en) * 1973-09-26 1974-06-04 Corning Glass Works Priority interrupt system
US3944985A (en) * 1973-10-19 1976-03-16 Texas Instruments Incorporated Workspace addressing system
US3943495A (en) * 1973-12-26 1976-03-09 Xerox Corporation Microprocessor with immediate and indirect addressing
JPS50106541A (de) * 1974-01-29 1975-08-22

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3715291A1 (de) * 1987-05-08 1988-11-24 Telefonbau & Normalzeit Gmbh Schaltungsanordnung zur erweiterung der anschlussmoeglichkeiten fuer mit einer zentralen steuereinrichtung zusammenarbeitende periphere einheiten

Also Published As

Publication number Publication date
FR2366627A1 (fr) 1978-04-28
FR2366627B1 (de) 1981-12-04
JPS5732817B2 (de) 1982-07-13
US4090238A (en) 1978-05-16
GB1588929A (en) 1981-04-29
JPS5355924A (en) 1978-05-20
IT1087551B (it) 1985-06-04
DE2744531A1 (de) 1978-04-06

Similar Documents

Publication Publication Date Title
DE2744531C2 (de) Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2523372A1 (de) Eingabe/ausgabe-anschlussteuereinrichtung
DE2702090A1 (de) Geraet zur verarbeitung von unterbrechungen in mikroverarbeitungssystemen
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2556624C2 (de) Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung
EP0048767A1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE2219918A1 (de) Programmierbares Steuergerät
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
EP0006164A1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE2363846C2 (de) Datenverarbeitungsanlage mit einer Schaltungsanordnung zur Steuerung des Datentransfers zwischen dem Hauptspeicher und mehreren peripheren Geräten
DE2801563A1 (de) Dialogprozessor
DE1474063A1 (de) Datenverarbeitungsanlage
DE2813080A1 (de) Einrichtung zur speicheradressierung
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE2218630B2 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE4328909C2 (de) Informationsverarbeitungssystem, Informationsprozessor in einem Informationsverarbeitungssystem und Interrupt-Controller in einem Informationsverarbeitungssystem
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE3435741C2 (de)

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee