DE2744531A1 - Elektronische datenverarbeitungsanlage - Google Patents
Elektronische datenverarbeitungsanlageInfo
- Publication number
- DE2744531A1 DE2744531A1 DE19772744531 DE2744531A DE2744531A1 DE 2744531 A1 DE2744531 A1 DE 2744531A1 DE 19772744531 DE19772744531 DE 19772744531 DE 2744531 A DE2744531 A DE 2744531A DE 2744531 A1 DE2744531 A1 DE 2744531A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- dma
- interrupt
- cycle
- 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.)
- Granted
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
- G06F13/34—Handling 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
Die vorliegende Erfindung betrifft eine elektronische Datenverarbeitungsanlage gemäß dem Oberbegriff des
Anspruchs 1. Insbesondere betrifft die Erfindung einen mit
einem gespeicherten Programm arbeitenden Digitalrechner mit Unterbrechungsmöglichkeit.
Bei programmgesteuerten Digitalrechnern versteht man unter einer Unterbrechung eine zeitweilige Aussetzung
oder Pause der normalen Durchführung der aufeinanderfolgenden Befehle des Programms, so daß der Prozessor als Antwort auf
ein äußeres Signal eine äußere Einrichtung bedienen oder eine Verzweigung durchführen und auf eine bestimmte Stelle in der
Befehlsfolge umschalten kann. Periphere Einrichtungen, die in Verbindung mit dem Prozessor zur Datenspeicherung verwendet
8098U/0930
27U531 S
-2-
werden, arbeiten im allgemeinen sehr langsam im Vergleich zur
Arbeitsgeschwindigkeit des Prozessors. Die Unterbrechung ermöglicht es dem Prozessor Befehle auszuführen, während er auf
die Bedienung der peripher^n Einrichtungen wartet, d.h. Daten an die Einrichtung ausgibt oder von ihr empfängt oder den Betrieb
der Einrichtung beendet. Eine andere Verwendung von Unterbrechungen besteht darin, Programme anpassungsfähiger zu machen
und ganz allgemein dem Verwender zu ermöglichen anzugeben,auf welche von mehreren möglichen Verzweigungen in Abhängigkeit
von irgendwelchen äußeren Kriterien bei der Durchführung des Programms übergegangen werden soll. Dies erfolgt manchmal durch
Schalter, die Unterbrechungsstellen genannt werden und von der Anlage mit Hilfe spezieller Befehle, die für diesen Zweck vorgesehen
sind, 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 Prozessor-Unterbrechungssignal
zusammengefaßt. Das Auftreten des Unterbrechungssignales veranlaßt den Prozessor, auf ein erstes
Unterprogramm umzuschalten, durch das festgestellt wird, welche Einrichtung das Unterbrechungssignal verursacht hat und welches
Bedienungs- Unterprogramm als nächstes ausgeführt werden sollte. Ein Verfahren zur Identifizierung der unterbrechenden Einrichtung
besteht im Abfragen (polling), bei dem externe Meldeleitungen 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
8098U/0930
Magnetbandlesegerät häufiger bedient werden als ein Lochstreifenleser,
da es mit einer höheren Zeichenrate arbeitet und die zulässige Pufferzeit wegen der höheren Datenflußgeschwindigkeit
kürzer ist. In diesem Falle muß man dann nicht nur feststellen, welche Einrichtung eine Unterbrechung angefordert hat, sondern
auch welche von mehreren unterbrechenden Einrichtungen die höchste Priorität hat und daher zuerst bedient werden muß.
Eine gezielte Unterbrechung ist eine Unterbrechung mit mehreren Antworten auf das Unterbrechungssignal. Manchmal
werden mehrere Unterbrechungsleitungen vorgesehen. Im Falle einer einzigen Unterbrechungsleitung werden die möglichen Quellen
für die Unterbrechung abgetastet oder abgefragt und auf Gruiti
der Ergebnisse wird bestimmt, welches Unterprogramm oder welche Programmverzweigung durchzuführen ist.
Bei den bekannten Anlagen, die mit Unterbrechung arbeiten, ist der Programmaufwand erheblich, was die für gezielte
Unterbrechungen erforderliche Prozessorzeit erhöht. Wenn zusätzlich Unterbrechungsprioritäten gefordert werden, braucht
man noch kompliziertere Programme und die Bedienung der Unterbrechungen
verbraucht noch mehr Prozessorzeit. Bei Mikroprozessoren, bei denen die Befehle im allgemeinen primitiver sind
als in größeren Maschinen oder Anlagen, braucht man unter Umständen viele Befehle um Unterbrechungen mit Prioritäten und/
oder gezielte Unterbrechungen (vectored interrupt) durchzuführen.
Bei manchen Digitalrechner-Verarbeitungseinheiten ist die Möglichkeit eines direkten Speicherzugriffs
(DMA) vorgesehen, um Daten von äußeren Quellen direkt im Speicher speichern zu können oder Daten direkt aus dem Speicher
entnehmen zu können, ohne dabei die Durchführung des laufenden Programms sturen zu müssen. Dies wird im allgemeinen durch Er-
8098U/0930
zeugung eines speziellen Maschinenzyklus bewirkt, der logisch als DMA-Zyklus bezeichnet wird und ein Register, das als Hinweisadresse
bekannt ist, mit der Speicheradressenschiene koppelt und Daten an der adressierten Stelle im Speicher speichert
oder von dieser herausliest, je nachdem ob es sich bei der DMA-Anforderung um eine für eine Eingabe oder um eine für eine Ausgabe
handelte. Da die Programmdurchführung gewisse Zyklen erfordert, setzt das Auftreten eines DMA-Zyklus den Ablauf der
normalen Programmausführung nur für eine Zyklusdauer aus. Dies wird manchmal als "Zyklus stehlen" bezeichnet.
Der vorliegenden Erfindung liegt die Aufgabe
zugrunde, einen unterbrechbaren Prozessor mit direktem Speichelzugriff
anzugeben, bei dem ein Unterprogrammtransfer einer gerichteten oder gezielten Unterbrechung mit einer minmalen Anzahl
an Zyklen durchgeführt werden kann.
Diese Aufgabe wird durch die elektronische Datenverarbeitungsanlage
(EDV) der eingangs genannten Art mit den kennzeichnenden Merkmalen des Patentanspruchs 1 gelöst.
Wie beim Stand der Technik werden die Bedie-
nungsanforderungssignale von peripheren Einrichtungen Halteschaltungen
zugeführt. Beim Setzen einer dieser Halteschaltungen wird ein Unterbrechungsanforderungssignal erzeugt und eine
Prioritätsbestimmungsschaltung aktiviert eines von mehreren Signalen entsprechend der Einrichtung höchster Priorität, die
eine Bedienung anfordert. Gemäß der Erfindung wird, wenn die Unterbrechung auftritt, ein Zyklus für einen direkten Speicherzugriff
angefordert. Während dieses DMA-Zyklus schleust die Prioritätsbestimmungsschaltung eine zugeordnete bestimmte Adresse
auf die Datenschiene der Maschine.
Im folgenden werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die Zeichnung näher erläutert.
8098U/0930
27U531
Es zeigen:
Fig. 1 ein Logikschaltbild einer 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;
Fig. 2 ein Logikschaltbild einer Abwandlung der Schaltungsanordnung gemäß Fig. 1 für ein System, bei dem für
eine Unterprogrammadresse zwei Datenwörter benötigt werden und
Fig. 3 ein Blockschaltbild einer Abwandlung eines Teiles der Anordnung gemäß Fig. 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 des zugeordneten Prozessors in
Verbindung mit dem Unterbrechungsmechanismus bewerkstelligt. Für die folgende, ins einzelne gehendet Erläuterung der Arbeitsweise
eines bevorzugten Ausführungsform der Erfindung soll beispielsweise
angenommen werden, daß diese in Verbindung mit einem COSMAC-Mikroprozessor, z.B. einem Mikroprozessor des Typs CDP
1802(RCA Corporation) verwendet wird. Einzelheiten über die Arbeitsweise eines COSMAC-Mikroprozessors können den Datenblättern
und Anwendermitteilungen des Herstellers entnommen werden. Soweit sie für das Verständnis der vorliegenden Erfindung
erforderlich sind, wird im folgenden kurz auf sie engegangen.
Der COSMAC-Mikroprozessor kann je nach der Art des auszuführenden Zyklus mehrere interne Zustände annehmen.
Z.B. führt der Prozessor in einem internen Zustand einen Abruf-Zyklus durch, um den nächsten Befehl, der auszuführen ist,
aus dem zugehörigen Speicher zu entnehmen. In einem anderen
8098U/0930
27U531
-A-
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 in einem speziellen Register gespeichert werden und b) bestimmte Register in der Registeranordnung
zu einem Programmzähler (R1) für das neue Programm und einer Hinweisadresse (R2) für den neuen Operanden bestimmt werden.
Der Unterbrechungszyklus wird als Antwort auf ein Unterbrechungs-Anforderungssignal
begonnen, es setzt im Effekt das laufende Programm aus und bewirkt eine Verzweigung oder einen
Obergang auf ein anderes Programm, das durch den Inhalt von RI
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 RO ist die DMA Hinweisadresse. Dies ist gegenwärtig für die Adresse, in die oder aus der während eines
DMA-EIN- oder DMA-AUS-Zyklue Daten gespeichert bzw. gelesen
werden sollen. Die RO-Hinweieadreese wird nach jedem DMA-Zyklus
automatisch um eine Einheit erhöht bzw. weitergeschaltet.
Während jedes Zyklus liefert der COSMAC-Mikro-
prozessor zwei Taktimpulse TP. Der eine ist ein TPA-Impuls, der
in der Nähe des Anfanges des Zyklus auftritt. Der andere ist
B098U/0930
-n-
ein TPB-Impuls und tritt in der Nähe des Endes des Zyklus auf.
Die Taktimpulse und die internen Zustände des Mirkoprozessors stehen an äußeren Anschlüssen zur Verfügung, wobei die Art des
Zyklus durch Zustandscodesignale angezeigt wird, die für pden
internen Zustand eine eindeutige Kombination enthalten.
Bei der Verwendung der erfindungsgemäßen Schaltungsanordnung
wird die DMA-Hinweisadresse RO des Prozessors anfänglich auf die Adresse des Adressenteiles eines Verzweigungsbefehles eingestellt, der durch die Unterbrechungs-Hinweisadresse
R1 adressiert wird. In dem einer Unterbrechungsanforderung eine DMA-EIN-Anforderu ng folgt, ist die 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öhersteHingen 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äß Fig. 1 setzen die BedienungsanforderungssignaIe von verschiedenen Einrichtungen
E1, E2...En jeweils ein eigenes Flip-Flop einer Gruppe von Flip-Flops oder Haiteschaltungen 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 16b ist. Die
809814/0930
27U531
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 E1 die höchste Priorität, die Einrichtung E2 die nächst niedrigere
Priorität usw. habe, bis zur Einrichtung En, die die niedrigste Priorität hat. Wenn mehrere Unterbrechungsanforderungssignale
gleichzeitig auftreten, ist das der höchsten Priorität bestimmend, wie aus der folgenden Erläuterung ersichtlich ist. Wenn
die Einrichtung E1 ein Bedienungsanforderungssignal erzeugt, während kein Unterbrechungsanforderungssignal vorhanden ist,
macht das Setzausgangssignal von der zugehörigen Halteschaltung ein UND-Glied 18a durchlaßbereit, tastet ein ODER-Glied
16b auf und sperrt ein NOR-Glied 17a.(Ein NOR-Glied arbeitet wie ein UND-Glied, wenn man die beiden Eingangssignale als
"richtig" ansieht, wenn sie negativ sind, was durch die eine Inversion bedeutenden kleinen Kreise an den Eingangsklemmen
angedeutet ist). Das Ausgangssignal des OR-Gliedes 16b sperrt ein NOR-Glied 17b 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 17c gesperrt.
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
E1 zugeordnete Halteschaltung nicht gesetzt ist, würde das NOR-Glied 17a ansprechen und ein Ausgangssignal liefern, das ein
UND -Glied 18b ansprechbereit macht. Die nachgeordneten NOR-
8098U/0930
27U531
Glieder werden durch das Setzausgangssignal von der der Einrichtung
E2 zugeordneten Halteschaltung über die ODER-Glieder 16b, 16a usw. gesperrt. Wenn irgend eines der ODER-Glieder
aufgetastet wird, spricht auch das ODER-GLied 15 an und erzeugt
ein Unterbrechungsanforderungssignal.
Die Ausgangs-Verknüpfungsschaltungen, wie die UND-Glieder 18a und 18b, liefern ein Freigabesignal 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 Datenschiene
koppeln. Die Schalter können so eingestellt werden, daß sie eine logische Eins oder Null auf die entsprechende Datenschienenleitung
geben, wenn die Torschaltungen 191 bis 193 durch
das Ausgangssignal vom UND-Glied 18a aufgetastet werden.
Im Mikroprozessor wird als Antwort auf das Unterbrechungsanforderungssignal
INT REQ ein Unterbrechungszyklussignal INT CYCLE erzeugt, welches ein UND-Glied 112 ansprechbereit
macht, das während dieses Zyklus durch das TPA aufgetastet wird. Das Ausgangssignal des UND-Glieds 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-EIN-Anforderungssignal.(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 CYCLE-Signal eines der UND-Glieder 18a, 18b 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 Datenschiene 110 gekoppelt wird.
8098U/0930
-VO-
Das DMA-CYCLE-Signal macht ferner ein UND-Glied 117 ansprechbereit,
das während des TPA-Signals des Zyklus das Flip-Flop 116 zurücksetzt und das DMA-EIN-Anforderungssignal abschaltet.
Das DMA-CYCLE-Signal macht ferner eine Gruppe von UND-Gliedern
10a bis 10d ansprechbereit. Die UND-Glieder 10a bis 10d werden außerdem durch das Aktivierungssignal von der Einrichtung der
höchsten Priorität ansprechbereit gemacht. Das TPB-Signal, das während des DMA-Zyklus auftritt, tastet nun eines der UND-Glieder
10a bis 10d auf, um die Halteschaltung zurückzusetzen, die den vorangegangenen Unterbrechungszyklus eingeleitet hatten.
Bei dem vorliegenden Beispiel hatte das NOR-Glied 17a angesprochen und das UND-Glied 17b ansprechbereit gemacht, so daß dieses
UND-Glied aufgetastet wird und die Halteschaltung 11 der
Einrichtung E2 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 IMT
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 wurde nicht bedient. Alternativ könnten
8098 U/0930
27U531
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).
Zwischen jedem Unterbrechungszyklus und dem
folgenden DMA-Zyklus wird das geeignete Unterprogramm ausgeführt. Wenn eine Unterbrechung aktiviert wird, verhindert der
Prozessor weitere Unterbrechung, 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 die Prozessorspeicheradresse (Speicherplatz) adressiert, die auch durch die R1-Unterbrechungs-Hinweisadresse
adressiert wird.)
Fig. 2 zeigt ein Schaltwerk zur Abwandlung der Schaltungsanordnung gemäß Fig. 1 für den Fall, daß eine Verzweigungsadresse
aus zwei Bytes zu speichern ist. Für jede Unterbrechungseinrichtung 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äß Fig. 2 arbeiten in der gleichen Weise wie bei der Schaltungsanordnung gemäß Fig. 1. WÄ'hrend eines TPA-IMpulses
des ersten der beiden DMA-Zyklen wird ein UND-Glied 21 erregt, das ein Flip-Flop 22 vom RSR-Typ setzt. Das Setzausgangssignal
vom Flip-Flop 22 und das uücksetzausgangssignal von einem Flip-Flop 24 tasten ein UND-Glied 210 auf, dessen
Ausgangssignal ein UND-Glied 28a eines Paares von UND-Gliedern 28a, 28b ansprechbereit macht. Den anderen Eingängen
der UND-Glieder 28a und 28b 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
29 für das erste Adressenwort, welche das erste Byte der aus
8098U/0930
zwei Bytes bestehenden Adresse auf die catenschiene gibt. Beim folgenden TPB-Signal wird das Flip-Flop 24 über ein UND-Glied
23 gesetzt. Das TPA-Signal das während des zweiten der beiden DMA-Zyklen aurtritt, IaOt ein 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 28b
der aktivierten unterbrechenden Einrichtung ansprechbereit
die
macht, um/zugehörige zweite Schaltvorrichtung 29b zu erregen, die das zweite Byte der aus zwei Bytes bestehenden Adresse an die Datenschiene legt.
macht, um/zugehörige zweite Schaltvorrichtung 29b zu erregen, die das zweite Byte der aus zwei Bytes bestehenden Adresse an die Datenschiene legt.
Das TPB-Signal, 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 2Od der zugehörigen
Halteschaltungen. Das Schaltwerk gemäß Fig. 2 erzeugt zwei aufeinanderfolgende DMA-EIN-Zyklen, durch die zwei aufeinanderfolgende
Bytes gespeichert werden, welche die Adresse darstellen, auf die das Unterbrechungsprogramm übergehen soll.(Man
beachte, daß das Unterbrechungs-Unterprogramm in diesem Falle zwei Zurückschaltungsschritte für die DMA-Hinweisadresse RO des
Prozessors enthält, so daß die DMA-Hinweisadresse am Ende des Unterprogramms wieder die Speicheradresse (Speicherplatz)
adressiert, der auch durch die R1-Unterbrechungs-Hinweisadresse adressiert wird. Im übrigen arbeitet das Schaltwerk gemäß
Fig. 2. in der oben beschriebenen Weise.
8098 U/0930
27U531
Fig. 3 zeigt eine alternative Schaltvorrichtung, die anstelle der Schaltvorrichtung 19 verwendet werden
kann. Die Schaltvorrichtung gemäß Fig. 3 enthält einen Festwertspeicher 21, der an die Datenschiene Datenwörter, die
durch die Zustandssignale von der unterbrechenden Einrichtung gewählt 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 oder EDV anwednen. Mikroprozessoren ohne DMA-Möglichkeit können durch zusätzliche Schaltwerke
in die Lage versetzt werden, Unterbrechungen und direkte Speicherzugriffe (DMA) durchzuführen, siehe z.B. die Veröffentlichung
"Increase Microprocessor Efficiency" von D.C. Wyland, Electronic Design 23, 8. November 1975, Seiten 70 bis 75 oder
die Veröffentlichung "Speed Microprocessor Responses" von E.
Fischer, IBID, S. 78-83. Taktimpulse wie die TPA- und TPB-Impulse können vom Takt (HaUpttakt) durch Decodierung erzeugt
werden,wenn der zugehörige Prozessor sie nicht liefert.
809ÖH/O93O
Leerseite
Claims (5)
- PatentansprücheI λ/ In Zyklen arbeitende elektronische Datenverarbeitungsanlage mit a) einer Datenschienenanordnung, b) einer Anordnung zum direkten Speicheradressenzugriff (DMA) unter Erzeugung eines DMA-Antwortsignales, c) einer Unterbrechungsanordnung einschließlich einer Unterbrechungsanforderungsvorrichtung zum Einleiten eines Unterbrechungsprogrammes und Erzeugen eines Unterbrechungsantwortsignales, d) mehreren peripheren Einrichtungen, die asynchron mit der Datenverarbeitungsanlage zusammenarbeiten und jeweils ein Bedienungsanforderungssignal zu erzeugen vermögen, e) einer Anzahl von Halteschaltungen, die jeweils auf ein Bedienungsanforderungssignal einer der peripheren Einrichtungen ansprechen und dieses Signal speichern, f) einem Schaltwerk, das durch die ein Bedienungsanforderungssignal speichernden Halteschaltungen steuerbar ist und ein Signal an die Unterbrechungsanfdrderungsvorrichtung liefert, und g) eine Prioritätsanordnung, welche durch die ein Bedienungsanforderungssignal speichernden Halteshaltungen gesteuert ist und ein entsprechendes von mehreren Prioritätsausgangssignalen erzeugt, welches die Identität derjenigen peripheren Einrichtungen angibt, die von den eine Bedienung anfordernden peripheren Einrichtungen die höchste Priorität hat, gekennzeichnet durch eine Schaltungsanordnung (112, 116), die durch das Unterbrechungsantwortsignal (INT CYCLE ) gesteuert ist und die Anlage veranlaßt, einen Speicherdilrektzugriffzyklus zu beginnen, und mehrere Ausgangs-schaltungen (18a, 18b...; 19,...), die jeweils einer zugeordneten peripheren Einrichtung (E1, E2...) entsprechen, jeweils durch das entsprechende aktivierte Prioritätssignal (von einer derHalteschaltungen 11 über die Verknüpfungsglieder 17a, 17b...) und das DMA-Antwortsignal (DMA CYCLE) gesteuert sind und ein vorgegebenes Binärwort zur Verwendung8098U/0930ORTGINAL INSPECTEDals Anfangsadresse in dem anschließend ausgeführten Unterbrechungsprogramm an die Datenschiene (8) liefern.
- 2. Datenverarbeitungsanlage nach Anspruch 1, die eine Taktschaltung enthält, welche in der Nähe des Endes der Zyklen Taktsignale erzeugt, gekennzeichnet durch eine durch die Taktsignale (TPB), das DMA-Antwortsignal und das erzeugte Prioritätssignal gesteuerte Rückstellanordnung (10a, 10b...) zum Zurücksetzen derjenigen Halteschaltung (11), die dem aktivierten Prioritätssignal entspricht.
- 3. Datenverarbeitungsanlage nach Anspruch 1 oder2, dadurch gekennzeichnet, daß jede Ausgangsschaltung enthält:eine Freigabeschaltung (18a, 18b...), die durch das erzeugte Prioritätssignal sowie das DMA-Antwortsignal (DMA CYCLE) gesteuert ist und ein Freigabesignal erzeugt undeine Schaltvorrichtung (191, 192...), die unter Steuerung durch das Freigabesignal einen vorgegebenen Binärwert auf die Datenschienenanordnung (8) koppelt.
- 4. Datenverarbeitungsanlage nach Anspruch 3,dadurch gekennzeichnet, daß der vorgegebene Binärwert nach Wunsch einstellbar ist.
- 5. Datenverarbeitungsanlage nach Anspruch 1, 2,3, 4 gekennzeichnet durch eine Schal tungsanordnung (21, 22, 23, 24, 212), die durch das DMA-Antwortsignal (DMA CYCLE) steuerbar ist und einen zweiten SpeicherdirekteZugriffzyklus einleitet; eine Schaltungsanordnung (211), die ein zweites Signal liefert, das die zweite Spei-8098U/093027U531cherdirektzugriffantwort anzeigt; und eine zweite Ausgangsschaltung (28b, 29b), die durch dieses zweite Signal und
außerdem ebenfalls durch das aktivierte Prioritätssignal gesteuert ist und (von 29b) eine zweite vorgegebene Zahl an die Datenschienenanordnung (8) liefert.B098U/0930
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 true DE2744531A1 (de) | 1978-04-06 |
DE2744531C2 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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2856768A1 (de) * | 1977-12-30 | 1979-07-05 | Rca Corp | Prioritaets-vektor-unterbrechung mit einer vorrichtung zur direkten herstellung einer adressenverzweigung |
DE2952326A1 (de) * | 1978-12-26 | 1980-07-10 | Honeywell Inf Systems | Endgeraetesystem |
Families Citing this family (38)
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 |
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 |
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 |
EP0132161B1 (de) * | 1983-07-19 | 1988-06-15 | Nec Corporation | Anordnung zur Steuerung der Verarbeitung mehrerer Unterbrechungen |
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 |
US4901234A (en) * | 1987-03-27 | 1990-02-13 | International Business Machines Corporation | Computer system having programmable DMA control |
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 |
DE3715291C2 (de) * | 1987-05-08 | 1997-01-16 | Bosch Gmbh Robert | Schaltungsanordnung zur Erweiterung der Anschlußmöglichkeiten für mit einer zentralen Steuereinrichtung zusammenarbeitende periphere Einheiten |
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 |
US6233627B1 (en) | 1998-08-10 | 2001-05-15 | Micron Technology, Inc. | 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 |
US6674551B1 (en) * | 1998-10-27 | 2004-01-06 | Canon Kabushiki Kaisha | Image processing device and image processing method |
US8094677B2 (en) * | 2007-02-27 | 2012-01-10 | Integrated Device Technology, Inc. | Multi-bus structure for optimizing system performance of a serial buffer |
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 |
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 |
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 |
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1192857B (de) * | 1959-06-24 | 1965-05-13 | Bull Sa Machines | Steueranordnung in Informationsbehandlungs-anlagen |
US3815105A (en) * | 1973-09-26 | 1974-06-04 | Corning Glass Works | Priority interrupt system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
-
1976
- 1976-10-04 US US05/729,348 patent/US4090238A/en not_active Expired - Lifetime
-
1977
- 1977-09-29 GB GB40495/77A patent/GB1588929A/en not_active Expired
- 1977-10-03 JP JP11940977A patent/JPS5355924A/ja active Granted
- 1977-10-03 IT IT28226/77A patent/IT1087551B/it active
- 1977-10-04 FR FR7729837A patent/FR2366627A1/fr active Granted
- 1977-10-04 DE DE2744531A patent/DE2744531C2/de not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1192857B (de) * | 1959-06-24 | 1965-05-13 | Bull Sa Machines | Steueranordnung in Informationsbehandlungs-anlagen |
US3815105A (en) * | 1973-09-26 | 1974-06-04 | Corning Glass Works | Priority interrupt system |
Non-Patent Citations (2)
Title |
---|
Der Elektroniker, Nr. 10, 1975, S. EL12 bis EL23 * |
IEEE Spectrum, Bd. 11, Sept. 1974, S. 59-67 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2856768A1 (de) * | 1977-12-30 | 1979-07-05 | Rca Corp | Prioritaets-vektor-unterbrechung mit einer vorrichtung zur direkten herstellung einer adressenverzweigung |
DE2952326A1 (de) * | 1978-12-26 | 1980-07-10 | Honeywell Inf Systems | Endgeraetesystem |
Also Published As
Publication number | Publication date |
---|---|
DE2744531C2 (de) | 1985-02-07 |
JPS5732817B2 (de) | 1982-07-13 |
FR2366627B1 (de) | 1981-12-04 |
GB1588929A (en) | 1981-04-29 |
US4090238A (en) | 1978-05-16 |
IT1087551B (it) | 1985-06-04 |
FR2366627A1 (fr) | 1978-04-28 |
JPS5355924A (en) | 1978-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69023018T2 (de) | Prozessor-Unterbrechungssteuerung. | |
DE3876780T2 (de) | Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung. | |
DE3204905C2 (de) | ||
DE2523372C3 (de) | Eingabe-/Ausgabe-Anschlußsteuereinrichtung | |
DE2953861C2 (de) | ||
DE3942669A1 (de) | Virtuelles maschinensystem | |
EP0014850B1 (de) | Einrichtung zur Erweiterung des Standard-Makroinstruktionssatzes in einer Datenverarbeitungsanlage | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE69114321T2 (de) | Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät. | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2363846C2 (de) | Datenverarbeitungsanlage mit einer Schaltungsanordnung zur Steuerung des Datentransfers zwischen dem Hauptspeicher und mehreren peripheren Geräten | |
DE3228405A1 (de) | Emulator zur erzeugung einer folge von steuersignalen | |
DE1474063A1 (de) | Datenverarbeitungsanlage | |
DE69622785T2 (de) | Prozessorunterbrechungssteuerung | |
DE2533737A1 (de) | Datenprozessor | |
DE69230898T2 (de) | Speicherauswahl enthaltendes Verarbeitungs-System und Verfahren | |
DE3850906T2 (de) | Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. | |
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
DE68919638T2 (de) | Rechner mit unterbrechungsgesteuerter Taktgeschwindigkeit und Verfahren für seinen Betrieb. | |
DE3650154T2 (de) | Datenverarbeitendes Gerät. |
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 |