DE2744531A1 - Elektronische datenverarbeitungsanlage - Google Patents

Elektronische datenverarbeitungsanlage

Info

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
Application number
DE19772744531
Other languages
English (en)
Other versions
DE2744531C2 (de
Inventor
Paul Michael 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

Elektronische Datenverarbeitungsanlage
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.
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)

  1. Patentansprüche
    I λ/ 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 Verwendung
    8098U/0930
    ORTGINAL INSPECTED
    als Anfangsadresse in dem anschließend ausgeführten Unterbrechungsprogramm an die Datenschiene (8) liefern.
  2. 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. 3. Datenverarbeitungsanlage nach Anspruch 1 oder
    2, 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 und
    eine Schaltvorrichtung (191, 192...), die unter Steuerung durch das Freigabesignal einen vorgegebenen Binärwert auf die Datenschienenanordnung (8) koppelt.
  4. 4. Datenverarbeitungsanlage nach Anspruch 3,
    dadurch gekennzeichnet, daß der vorgegebene Binärwert nach Wunsch einstellbar ist.
  5. 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/0930
    27U531
    cherdirektzugriffantwort 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
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 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)

* Cited by examiner, † Cited by third party
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)

* 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
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
DE3472177D1 (en) * 1983-07-19 1988-07-21 Nec Corp Apparatus for controlling a plurality of interruption processings
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
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
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
US6189049B1 (en) * 1998-08-10 2001-02-13 Micron Technology Method for operating processor with internal register for peripheral status
US6674551B1 (en) * 1998-10-27 2004-01-06 Canon Kabushiki Kaisha Image processing device and image processing method
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
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
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
US8094677B2 (en) * 2007-02-27 2012-01-10 Integrated Device Technology, Inc. Multi-bus structure for optimizing system performance of a serial buffer

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Der Elektroniker, Nr. 10, 1975, S. EL12 bis EL23 *
IEEE Spectrum, Bd. 11, Sept. 1974, S. 59-67 *

Cited By (2)

* Cited by examiner, † Cited by third party
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
JPS5732817B2 (de) 1982-07-13
IT1087551B (it) 1985-06-04
FR2366627B1 (de) 1981-12-04
DE2744531C2 (de) 1985-02-07
FR2366627A1 (fr) 1978-04-28
JPS5355924A (en) 1978-05-20
GB1588929A (en) 1981-04-29
US4090238A (en) 1978-05-16

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.
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
DE2635592A1 (de) Multiprozessor-abrufsystem
DE3781794T2 (de) Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen.
DE69114321T2 (de) Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
DE2755616A1 (de) Asymmetrischer multiprozessor
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
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
DE3228405A1 (de) Emulator zur erzeugung einer folge von steuersignalen
DE1474063A1 (de) Datenverarbeitungsanlage
DE2533737A1 (de) Datenprozessor
DE3850906T2 (de) Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem.
EP0130269A2 (de) Speicherprogrammierbare Steuerung
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