DE2856768A1 - Prioritaets-vektor-unterbrechung mit einer vorrichtung zur direkten herstellung einer adressenverzweigung - Google Patents
Prioritaets-vektor-unterbrechung mit einer vorrichtung zur direkten herstellung einer adressenverzweigungInfo
- Publication number
- DE2856768A1 DE2856768A1 DE19782856768 DE2856768A DE2856768A1 DE 2856768 A1 DE2856768 A1 DE 2856768A1 DE 19782856768 DE19782856768 DE 19782856768 DE 2856768 A DE2856768 A DE 2856768A DE 2856768 A1 DE2856768 A1 DE 2856768A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- signals
- signal
- response
- 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/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt 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
Prioritäts-Vektor-Unterbrechuiig mit einer Vorrichtung zur direkten Herstellung einer Adressenverzweiqung.
Die vorliegende Erfindung bezieht sich auf Computer mit gespeicherten
d±$.talen Programmen, die eine Unterbrechungseinrichtung aufweisen.
Bei bekannten digitalen Computern mit gespeicherten Programmen bedeutet eine Unterbrechung eine Aussetzung, ein
Einstellen oder eine Unterbrechung der normalen Folge der gerade durchgeführten programmierten Befehle, im allgemeinen
in Antwort auf ein externes asynchrones Signal, das bewirkt, daß der Prozessor auf einen anderen Platz in dem Speicher
abzweigt und eine 'neue Folge von Befehlen ausführt. Im allgemeinen wird das unterbrochene Programm fortgesetzt, nach
dem die neue Folge von Befehlen, die oft als Unterprogramm bezeichnet .wird, durchgeführt wurde.
Periphere Vorrichtungen, wie Platten, Bänder oder Trommeln, die eine Massendatenspeicherung darstellen oder Tastaturen,
die Einrichtungen zur manuellen Dateneingabe darstelllen, arbeiten mit Geschwindigkeiten, die im Vergleich zu der Betriebsgeschwindigkeit
des Prozessors sehr langsam sind. Unterbrechungen erlauben dem Prozessor Befehle auszuführen,
während er auf die Bedienung der peripheren Vorrichtungen wartet. Die durch die Vorrichtungen geforderte Bedienung enthält
die .Lieferung von Daten, die von der Vorrichtung zu speichern
sind, die Annahme von Daten, die aus der Vorrichtung ausgelesen wurden oder die Steuerung des Betriebs der Vorrichtung.
Prozessoren weisen im allgemeinen einen oder nur wenige Eingang sanschlüsse für Unterbrechungsanforderungen auf. Wenn
mehr Vorrichtungen als Eingangsanschlüsse für Unterbrechungsanforderungen vorhanden sind, sind die Bedienungsanforderungssignale
im allgemeinen kombiniert, wie durch die Verwendung von OR-Gattern, um das Ünterbrechungsanforderungssignal zu
erzeugen. Die Aktivierung des Unterbrechungssignals be-
909827/1062
wirkt,daß der Prozessor auf ein Unterprogramm abzweigt, das
zuerst bestimmen muß, welche Vorrichtung das Unterbrechungssignal bewirkt hat, um dann auf das Bedienungsunterprogramm
zum Bedienen der unterbrechenden Vorrichtung abzuzweigen. Jede Vorrichtung erfordert normalerweise ein eigenes,alleiniges
Unterprogramm. Eine Technik zur BeStimmung,welche von verschiedenen
möglichen Vorrichtungen eine Unterbrechung verursacht hat, wird als "Abruftechnik" bezeichnet. Dabei wird
jede Bedienungsanforderungsleitung der Reihe nach geprüft, um die unterbrechende Vorrichtung zu identifizieren oder es
liefert jede Vorrichtung ein Identifizierungssignal , wie ein einzigartiges Merk- bzw. Kennzeichensignal (flag signal),
das durch bedingte Programmverzweigungsbefehle wahrgenommen werden kann.
Ein Prioritäts-Unterbrechungssystem wird in Systemen verwendet,
die einige Vorrichtungen aufweisen, die schneller bedient werden müssen als andere. Beispielsweise muß ein
Hochgeschwindigkeits-Magnetbandleser häufiger und schneller als ein Papierbandleser bedient werden, weil die magnetische
Datenübertragungsgeschwindigkeit größer ist und deshalb die gewährbare Puffer (Warte)-Zeit kürzer ist. Bei einem Priorüätsunterbrechungssystem
besteht das Problem nicht nur darin zu bestimmen, welche Vorrichtung eine Unterbrechung angefordert
hat, sondern auch festzustellen, welche Vorrichtung von verschiedenen gleichzeitig unterbrechenden Vorrichtungen
die höchste Priorität aufweist und deshalb als erste bedient werden sollte.
Eine Vektor-Programmunterbrechung ist eine Unterbrechung, bei der eine Antwort aus einer Mehrzahl von Antworten auf das Unterbrechungssignal
erzeugt wird. Im allgemeinen werden verschiedene Eingangsanschlüsse für Unterbrechungssignale verwendet, wobei
jeder einer besonderen Antwort entspricht. Das oben beschriebene Unterprogramm tastet oder ruft die möglichen Quellen
909827/1 062
der Unterbrechung ab und stellt aus den Ergebnissen fest, bei welchem auszuführenden Unterprogramm oder Programmverzweigung
es sich um eine durch Software durchgeführte Vektor-Unterbrechung handelt. Da das Unterprogramm programmiert
ist, um die Anforderungseingänge in einer gewissen Ordnung abzurufen, beinhaltet es auch ein hierarchiemäßgies
Prioritätsschema.
Systeme, die Unterbrechungen anwenden, erfordern im wesentlichen Software, die die Zeit des Prozessors vergrößert, die
für die Prioritäts-Vektor-Unterbrechungen erforderlich ist. Bei Mikroprozessoren, bei denen die Befehle im allgemeinen
grundlegender sind als in großen Maschinen, können viele Befehle erforderlich sein um eine Prioritäts-Vektor-Unterbrechungsbedienung
auszuführen. Eine ausführlichere Diskussion der Unterbrechungs-Veiarbeitung ist beispielsweise in der
Veröffentlichung H. Hellerman ,"Digital Computer System Principles1,1 (McGraw-Hill, 1967) Seiten 350 bis 355 angegeben.
Ein Computersystem zur Ausführung der vorliegenden Erfindung enthält einen Speicher zum Speichern von auszuführenden
Folgen von Befehlen. Wenigstens ein Befehl aus einem Satz von auszuführenden Befehlen spezifiziert in einem Adressen teil
eine Zelle in dem Speicher. Ein Prozessor enthält eine Adressiereinrichtung, die Adressensignale , die die Zelle eines
auszuführenden Befehls bezeichnen, an den Speicher liefert. Es ist ein Datenbus vorgesehen, der von dem Speicher Signale
empfängt, die für den auszuführenden Befehle repräsentativ sind, um die Folgen von Befehlen auszuführen. Die Adressiereinrichtung
enthält eine Vorrichtung, die auf ein externes Signal anspricht, um Adressensignale zu liefern, die die Zelle
dieses einen Befehls bezeichnen. Die Unterbrechungsvorrichtung enthält eine Vorrichtung zum Empfang einer Mehrzahl von Anforderungssignalen
unterschiedlicher Priorität und zur Erzeugung von Auswahlsignalen, die für das eine wirksame Signal
909827/1062
-S-
dieser Signale, das die höchste Priorität aufweist, repräsentativ sind. Es sind ferner eine Vorrichtung ,
die auf eine Mehrzahl von Anforderungssignalen anspricht um das externe Signal für die Adressiereinrichtung zu
liefern, und eine Adressenerzeugungsvorrichtung vorgesehen, die auf die Auswahlsignale anspricht. Die
Adressenerzeugungsvorrichtung liefert, wenn sie wirksam geschaltet ist, den Adressenteil des einen Befehls
an den Datenbus.
Gemäß der vorliegenden Erfindung ist weiterhin ein Decodierer vorgesehen, der an die Adressiereinrichtung
des Prozessors gekoppelt ist und auf die Adressensignale anspricht, die den Adressenteil des einen Befehls zur
Erzeugung eines Steuersignals bezeichnen. An den Speicher und an den Decodierer ist eine Einrichtung gekoppelt,
die den Betrieb des Speichers sperrt und die Adressenerzeugungsvorrichtung in Antwort auf das Erscheinen
des Steuersignals wirksam schaltet. Bei dieser Anordnung wird der Adressenteil des einen von der Adressen erzeugungsvorrichtung
gelieferten Befehls an die Adressiereinrichtung des Prozessors anstelle des Adressenteils
des einen in dem Speicher gespeicherten Befehls gegeben.
909827/1062
Die Figur zeigt ein Funktionsblockschaltbild eines erfindungsgemäßen
Systems.
Das in der Figur mit 1 bezeichnete Steuerwerk führt vorprogrammierte
Befehle in einer Reihefolge aus bzw. verarbeitet diese. Die besonderen auszuführenden Befehle hängen
von dem Zweck ab, für den das Programm geschrieben wurde. Die Befehle selbst hängen von dem besonderen, in dem Steuerwerk
1 verwendeten Prozessor ab. Zum Zwecke der Beschreibung wird der COSMAC-Mikroprozessor CDP1802 (RCA Corporation)
verwendet, , um spezielle Beispiele von verschiedenen Funktionen angeben zu können. Es können jedoch auch andere Prozessoren
oder Computer, die Befehle mit unterschiedlichen Bestimmungen
bzw. Benennungen und Bezeichnungen verwenden, zur Ausführung der vorliegenden Erfindung angewendet werden.
Der Betrieb der meisten Computer, Mikroprozessoren eingeschlossen,
wird in zwei Arten von Zyklen unterteilt. Die erste Art wird verwendet, um den auszuführenden Befehl im
allgemeinen von einem zugeordneten Speicher wieder zu gewinnen. Ein besonderes Register in dem Prozessor wird als
Programmzähler verwendet, der über einen Adressenbus 3 Adressensignale an einen Speicher 2 liefert. In Antwort
auf die Adressensignale und die Zeitsignale von dem Steuerwerk 1 gewinnt der Speicher 2 den auszuführenden Befehl und
schaltet ihn an einen Datenbus 4 durch. In dem Rechenwerk 1 wird der Befehl in anderen Registern zurAusführung gespeichert.
Die zweite Art von Zyklen wird angewendet , um den auf den Speicher durch den Zyklus der ersten Art abgerufenen Befehl
auszuführen. Der Befehl enthält einen Operationsteil und einen Adressenteil. Der Operationsteil bestimmt die auszuführende
Grundoperation, bei der es sich beispielsweise um ein Addieren, ein Substrahieren, ein übertragen, ein Speichern
909827/1062
oder dergl. handeln kann. Der Adressenteil der Befehle bestimmt
eine 3elle oder Zellen von denen die Operanden abzurufen
sind oder führt eine zusätzliche Funktion aus, durch die die in dem Operationsteil bestimmte Operation abgeändert
wird.
Alle Prozessoren enthalten einen Befehl des Programmverzweigungstyps.
Der Operationsteil des Befehls identifiziert den Befehl und gewöhnlich bezeichnet der Adressenteil die
Adresse, auf die der Programmzähler gesetzt wird, um eine verschiedene Folge von Befehlen auszuführen. Manchmal zeigt
der Operationsteil des Befehls durch seinen einzigartigen Code an, daß die Programmverzwexgung nur dann eintreten
soll, wenn bestimmte Bedingungen bestehen. Andere Programmverzweigungen sind unbedingt, d.h. sie werden ohne Rücksicht
auf irgendeine andere Bedingung in dem Prozessor zu der Zeit zu der sie durchgeführt werden, ausgeführt.
Die meisten Prozessoren beinhalten eine Unterbrechungseinrichtung,
die es ermöglicht, daß die Maschine auf externe Signale hin in einer asynchronen Weise antwortet. Beispielsweise ist
die von einer Vorrichtung für die für jedes Wort oder Zeichen übertragenen Daten erforderliche Zeit im Vergleich
zu dem Zyklus des Prozessors lang, wenn Daten von der Vorrichtung ausgelesen werden oder der Vorrichtung zugeführt
werden. Dabei handelt es sich bei der Vorrichtung beispielsweise um einen Papierband-Leser, einen Magnetband-Leser,
Magnettrommeln, Magnetplatten oder dergl.. Jede Datenübertragung zwischen der peripheren Vorrichtung und dem Prozessor
erfordert eine kleine Zeit; die Zeitperiode zwischen den Datenübertragungen kann aber der Zeit entsprechen, die für
die Ausführung von mehreren hundert oder mehreren tausend Befehlen erforderlich ist. Aus diesem Grunde ermöglicht eine
ünterbrechungseinrichtung, daß der Prozessor Programme ausführt und durch ein externes ünterbrechungssignal unterbrochen
wird, wenn eine Vorrichtung für die Datenübertragung bereit ist.
909827/1062
In Antwort auf das externe Unterbrechungssignal führt der
Prozessor einen anderen Befehlssatz (Unterprogramm) durch,um die Vorrichtung zu bedienen , die die Unterbrechung
verursacht, d.h. um die Datenübertragung zu bewirken und kehrt dann zu dem Programm, das unterbrochen wurde, zurück .
Im allgemeinen zieht die Unterbrechungserwiderung (interrupt response) einen Programmverzweigungsbefehl nach sich, um
die Programmausführung auf das Unterprogramm zu übertragen.
Der Speicher 2 ist bekannt und wird über den Adressenbus 3, der auch Taktsignale und Signale, die anzeigen, ob ein Lesen
oder Schreiben ausgeführt werden soll, trägt, adressiert. Die in dem Speicher 2 adressierten Daten werden auf den
Datenbus geschaltet. Der Speicher 2 enthält eine Abschaltvorrichtung, die den normalen Betrieb des Speichers in Antwort
auf ein Ausgangssignal von einem OR-Gatter 10 verhindert. Die Ausführungsformen der bekannten Speichervorrichtungen
enthalten Anschlüsse, an denen Einschaltsignale angelegt sein müssen, die gewöhnlich als Chip-Auswahlsignale
bezeichnet werden. Bei dem vorliegenden Beispiel handelt es sich bei dem Chip-Auswahl- oder Einschaltsignal um ein tiefpegeliges
Signal, beispielsweise um eine logische Null, wie dies für kommerziell verfügbare Speichermodule gebräuchlich ist.
Aus diesem Grunde arbeitet der Speicher 2 in der herkömmlichen Art, wenn das Chip-Auswahlsignal von dem OR-Gatter
tiefpegelig ist. Wenn das Ausgangssignal des OR-Gatters 10
hochpegelig wird, wird der Betrieb des Speichers verhindert. Frei nach Wahl können die Speicherdaten an den Datenbus 4
durchein tiefpegeliges Ausgangssignal des OR-Gatters 10 durchgeschaltet werden und die Gatter zu dem Datenbus durch ein
hochpegeliges Ausgangssignal des OR-Gatters 10 unwirksam geschaltet
werden.
Zwei Decodierer 8 und 9, die in der Figur als AND-Gatter dargestellt
sind , sind zum Empfang der Adressensignale von dem
909827/1062
-Yt-
Adressenbus 3 verbunden und sprechen auf eine besondere Adresse hin an, um Ausgangssignale zu erzeugen. Das heißt,
wenn eine besondere Adresse an dem Adressenbus 3 anliegt, erzeugt der Decodierer 8 ein einer logischen Eins entsprechendes
Ausgangssignal· Wenn eine zweite besondere Adresse an dem Adressanbus 3 anliegt, erzeugt der Decodierer
9 ein Ausgangssignal, das einer logischen Eins entspricht.
Die Festwertspeicher (ROM) 5 und 6 sind kommerziell verfügbare Vorrichtungen , die Adressensignale empfangen und
die Daten der adressierten Zelle an den Datenbus 4 koppeln, wenn ein Freigabeeingangssignal E vorhanden ist. Ein Festwertspeicher
weist, wie der Name sagt , in jeder Speicherzelle feste Daten auf, die aus dem Festwertspeicher ausgelesen
aber nicht verändert werden können. Wird dies gewünscht,so kann ein herkömmlicher Schreib-Lese-Speicher anstelle der
Festwertspeicher 5 und 6 mit in den adressierbaren Zellen vorgespeicherten Informationen verwendet werden. Bei einem
solchen Speicher kann sowohl eingeschrieben als auch ausgelesen werden.
Bei der Prioritäts-Codiereinrichtung 7 kann es sich um eine kommerziell verfügbare Vorrichtung, beispielsweise um einen
integrierten Kreis vom Typ CD4532 (RCA Corporation) handeln. Er empfängt als Eingangssignal acht Anforderungssignale und
erzeugt als Antwort darauf sowohl einAusgangssignal, das
anzeigt, daß wenigstens ein Anforderungssignal empfangen wurde (INT)x und drei codierte Signale, die in einer binären
Darstellung die Zahl des Anforderungssignals der höchsten
Priorität darstellen. Diese codierten Signale sind im folgenden als Auswahlsignale bezeichnet.
Zum Zwecke der Erläuterung wird vorausgesetzt, daß das Unterbrechungssignal
(INT) verursacht, daß das Steuerwerk 1 zu einem
909827/1062 ORIGINAL INSPECTED
kurzen Verzweigungsbefehl Zugriff hat, der bei dem COSMAC-System
ein Programmverzweigungsbefehl zu derselben "Seite" ist. Dabei wird unter einer "Seite" eine abhängige Gruppe von
Zellen verstanden, wobei die Zahl der Seite durch die höherwertigen Byte ( höchstwertigen acht Bits) des Programmzählers
spezifiziert ist. Dieser Befehl hat einen Operationsteil (Code), der in einem Byte (8-Bit) als 3O16, d.h. als 00110000
bezeichnet ist. Das nächste Byte in der Folge zeigt die Lage einer Zelle von 256 Zellen auf der Seite an, zu der das
Programm zu verzweigen ist und ersetzt das niedrigerwertige Byte (geringstwertige 8-Bit) des Programmzählers. Der Verzweigungsbefehl
kann bildlich als 30XX bezeichnet werden, wobei XX in einer hexadezimalen Beschreibung die Zelle der Seite
spezifiziert, auf welche die Programmverzweigung gerichtet ist.
Der in der Figur dargestellte Kreis wird folgendermaßen betrieben.
Wenn keine AnforderungssignaIe an dem Eingangsanschluß
des Prioritätscodierers 7 anliegen, kann das Steuerwerk
1 eine besondere Folge von Befehlen ausführen, die einer nach dem anderen aus dem Speicher 2 über den Datenbus 4 abgerufen
werden. Das Adressenbyte des in Antwort auf das Unterbrechungssignal auszuführenden Programmverzweigungsbefehls
soll an der Zelle ZZ in dem Speicher 2 enthalten sein. Der Decodierer 8 spricht auf die Adresse ZZ an und erzeugt ein
Ausgangssignal. Dies bedeutet, daß der Decodierer 8 ein Ausgangssignal
dann erzeugt, wenn Signale , die die Zelle der Programmverzweigungsadresse repräsentieren, an dem Adressenbus
3 anliegen.
In jeder Zelle des Festwertspeichers (ROM) 5 ist ein Adressenbyte enthalten, das die Zelle, zu welcher das Programm als
Antwort auf das Unterbrechungssignal abzuzweigen ist,bezeichnet.
Dabei hängt das ünterbrechungsägnal von der Quelle eines be-
9098 27/1062
sonderen Anforderungssignals, d.h. des höchsten Prioritätsanforderungssignals
an dem Eingang der Prioritätscodiereinrichtung 7 ab. Es wird vorausgesetzt, daß jedes Anforderungssignal ein eigenes Bedienungsunterprogranun aufweist - obgleich
dies nicht immer tatsächlich der Fall sein muß - und daß die Anfangszelle jedes getrennten Unterprogramms in dem
Eestwertspeicher 5 an der Festwertspeicheradresse, die der zugeordneten cOdierten Anforderungssignalzahl entspricht, gespeichert
ist.
Wenn ein Anforderungssignal oder Anforderungssignale an den
Eingangsanschlüssen der Prioritätscodiereinrichtung 7 anliegen,
wird das Unterbrechungssignal (INT) zu dem Steuerwerk 1
aktiviert , um den Unterbrechungsprozeß einzuleiten. Die Codiereinrichtung 7 legt auch eine 3-Bit-Auswahladresse an
den Festwertspeicher 5 an, wobei die Adresse von der Zahl (0 bis 7) der aktiven Prioritätsanforderung abhängt. Wenn
das Unterbrechungsunterprogramm gestartet wird, wird die Adressierung des Adressenteils des Programmverzweigungsbefehls
in dem Speicher 2 durch den Decodierer 8 angezeigt, der ein Freigabesignal für den Festwertspeicher 5 erzeugt und über
das OR-Gatter 10 den Speicher 2 wirkungslos schaltet. Die indem Festwertspeicher 5 gespeicherte Adresse , die dem Anforderungssignal
mit der höchsten Priorität unter den aktiven Anforderungseingangssignalen entspricht, wird an den Datenbus
4 angelegt, um an das Steuerwerk 1 den Adressenteil des Programmverzweigungsbefehls anzulegen. Das Steuerwerk 1 empfängt
von dem Datenbus 4 den Ädressenteil des Verzweigungsbefehls so, als ob er von dem Speicher 2 gekommen wäre. Dadurch wird
bewirkt, daß das Programm sich zu dem Satz von Befehlen verzweigt, die dem Bedienungsunterprogramm der unterbrechenden Vorrichtung
mit dem höchsten Prioritätsanforderungssignal an der Prioritätscodiereinrichtung 7 entspricht.
Ein zweiter Decodierer 9 und ein zweiter Festwertspeicher 6 sind vorgesehen, so daß ein langer Verzweigungsbefehl ausge-
909827/1062
führt werden kann. Der Operationscode für eine lange Verzweigung ist CO16, d.h. binär ausgedrückt 11000000 . Die
nächsten beiden Bytes in der Folge spezifizieren die Adresse in dem Speicher, an die die Byte-Prograinmverzweigung bewirkt
werden soll. Das erste Byte liefert das höherwertige Byte und das zweite Byte das geringerwertige Byte des Programmzählers.
Der Decodierer 8 zeigt an, wenn das Steuerwerk 1 den ersten Teil (Byte) des Adressenteils des langen
Verzweigungsbefehls anfordert, schaltet den Festwertspeicher ein und schaltet den Speicher 2 über das OR-Gatter 10 wirkungslos.
Gleichzeitig liefert der Festwertspeicher 5 an dem Datenbus 4 als Antwort auf die Auswahladresse von der Prioritäts-Codiereinrichtung
7 den erstenAdressenteil an das Steuerwerk. Die nächste Zelle, nämlich die des zweiten Teils des Adressenteils
des Befehls, wird durch den Decodierer 9 angezeigt, der ein Ausgangssignal erzeugt, das den Speicher 2 über das OR-Gatter
10 wirkungslos schaltet und den zweiten Festwertspeicher einschaltet. Dieser empfängt eine 3-Bit-Adresse von der Codiereinrichtung
7 und legt als Antwort darauf und auf das Freigabesignal von dem Decodierer 9 den zweiten Teil der Verzweigungsadresse an den Datenbus 4. Die Auswahladressen für die Festwertspeicher
5 und 6 sind dieselben.
Zusammenfassend wird festgestellt, daß der Adressenteil des Programmverzweigungsbefehls durch eine Vorrichtung, wie einen
Festwertspeicher geliefert wird, der eine Verzweigungsadresse liefert, die für die unterbrechende Vorrichtung mit der höchsten
Priorität einzigartig ist,wenn eine Prioritäts-Vektorunterbrechung
ausgeführt werden soll. Dadurch kann eine vektorielle Unterbrechung
durch einen einzigen Programmverzweigungsbefehl ausgeführt werden, ohne daß es erforderlich ist, durch Abruftechniken
oder anderweitig festzustellen, welche Vorrichtung die Unterbrechung angefordert hat, ehe auf das geeignete Bedienungsunterprogramm,
das ausgeführt werden soll, abgezweigt wird.
909827/ 1062
Leerseite
Claims (6)
- RCA 72 142U.S. Serial No: 865, 796Filed: December 30, 1977RCA Corporation
New York, N.Y., V.St.v.A.PatentansprüchePrioritäts-Vektor-Unterbrechungsvorrichtung zur Anwendung in einem Computer-System, dadurch gekennzeich net , daß das Computer-System einen Speicher (2) zum Speichern von auszuführenden Befehlsfolgen enthält, daß wenigstens ein Befehl eines Satzes von auszuführenden Befehlen in einem Adressenteil eine Zelle in dem Speicher (2) bezeichnet, daß ein Prozessor (1) vorgesehen ist, der eine Adressiereinrichtung zum Liefern von Adressensignalen, die die Zelle eines auszuführenden Befehls in dem Speicher bezeichnen, und einen Datenbus (4) zum Empfang von für den auszuführenden Befehl repräsentativen Signalen von dem Speicher (2) aufweist, um diese Befehlsfolgen auszuführen, daß die Adressiereinrichtung eine erste Vorrichtung enthält, die in Antwort auf ein externes Signal (INT) Adressensignale liefert, die die Zelle des einen Befehls bezeichnen, daß die Unterbrechungsvorrichtung eine Einrichtung (7) zum Empfang einer Mehrzahl von Anforderungssignalen unterschiedlicher Priorität und zur Erzeugung von Auswahlsignalen, die für das wirksame Signal dieser Signale, das die höchste Priorität aufweist, repräsentativ sind, enthält,909827/1062daß eine zweite Vorrichtung vorgesehen ist, die in Antwort auf die Mehrzahl der Anforderungssignale das externe Signal an die Adressiereinrichtung anlegt, daß Adressenerzeugungseinrichtungen (5, 6) vorgesehen sind, die auf die Auswahlsignale ansprechen und im eingeschalteten Zustand den Adressenteil des einen Befehls an den Datenbus (4) anlegen, daß Decodierer (8, 9) mit der Adresseneinrichtung (3) verbunden sind und auf die Adressensignale ansprechen, die den Adressenteil des einen Befehls zur Erzeugung eines Steuersignals bezeichnen, und daß eine dritte Vorrichtung (10) mit dem Speicher (2) und den Decodierern (8, 9) verbunden ist, um den Betrieb des Speichers zu sperren und um die Adressenerzeugungseinrichtung in Antwort auf das Erscheinen des Steuersignals anzuschalten, wobei der Adressenteil des einen von der Adressenerzeugungseinrichtung gelieferten Befehls an die Adressiereinrichtung des Prozessors anstelle des Adressenteils des einen in dem Speicher (2) gespeicherten Befehls geliefert wird. - 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Adressenerzeugungseinrichtung Speicher (R.0.-Speicher) zum Speichern der Adressenteile an durch die Auswahlsignale adressierbaren Zellen und zum Liefern des gespeicherten durch die Auswahlsignale adressierten Adressenteils an den Datenbus, während der Speicher (2) gesperrt ist.
- 3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der Speicher einen Festwertspeicher enthält.
- 4. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Decodierer aus einer Mehrzahl von Decodierern (8, 9) besteht, daß jeder Decodierer auf eine unterschiedliche Adresse anspricht und daß die auf die Auswahlsignale an-909827/1062sprechende Vorrichtung in Antwort auf jedes Ausgangssignal jedes Decodierers und auf die Auswahlsignale eine unterschiedliche Adresse (von 5 oder 6) an den Datenbus (4) anlegt.
- 5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die auf die Auswahlsignale ansprechende Vorrichtung eine Mehrzahl von Speichern (5, 6) enthält.
- 6. Prioritäts-Vektor-Unterbrechungsvorrichtung zur Anwendung in einem Computer-System zur Ausführung vorprogrammierter Befehle, dadurch gekennzeichnet, daß das Computer-System einen Speicher (2) zum Speichern von die Befehle beinhaltenden Daten an adressierbaren Zellen enthält, daß einige der Befehle einen Operationsteil und einen Adressenteil aufweisen, daß einer der Befehle ein Programmverzweigungsbefehl ist, der in seinem Adressenteil die Anfangszelle einer anderen Folge von auszuführenden Befehlen bezeichnet, daß ein Steuerwerk (1) in Antwort auf ein Unterbrechungssignal den Programmverzweigungsbefehl ausführt, daß ein Adressenbus (3) zwischen das Steuerwerk (1) und den Speicher (2) geschaltet ist, um an den Speicher Adressensignale anzulegen, die für eine Zelle von Daten in dem Speicher (2) repräsentativ sind, daß ein Datenbus (4) zwischen den Speicher(2) und das Steuerwerk (1) geschaltet ist, um für die Daten repräsentative Signale an das Steuerwerk zu liefern, daß die Unterbrechungsvorrichtung eine Prioritäts-Bestimmungsvorrichtung (7) zum Empfang einer Mehrzahl von Anforderungssignalen enthält, daß jedes Anforderungssignal im aktiven Zustand eine vorbestimmte Priorität aufweist, daß die Prioritäts-Bestimmungsvorrichtung in Antwort auf die Anforderungssignale AuswahlSignaIe (an 5, 6) liefert, die für das eine aktive Signal der Anforderungssignale repräsentativ sind,909827/1062das die höchste Priorität aufweist, und die außerdem auf irgendeines der Anforderungssignale anspricht, um das UnterbrechungssignaKINT) an das Steuerwerk anzulegen, daß Adressenerzeugungsmittel (5, 6) auf die Auswahlsignale von der Prioritäts-Bestimmungsvorrichtung ansprechen, wenn sie eingeschaltet sind,um an den Datenbus (4) Signale anzulegen, die den Adressenteil des Programmverzweigungsbefehls bezeichnen, um die Anfangszelle der Folge von auszuführenden Befehlen in Antwort auf das Anforderungssignal mit der höchsten Priorität zu bezeichnen, daß der Speicher (2) eine Abschaltvorrichtung (10) enthält, die in Antwort auf ein Abschaltsignal die Funktion des Speichers blockiert, daß Decodierer (8, 9) an den Adressenbus (3) gekoppelt sind und in Antwort auf den Adressenteil des Programmverzweigungsbefehls von dem Steuerwerk das Abschaltsignal erzeugen und an die Abschaltvorrichtung (10) des Speichers (2) anlegen, und daß die Adressenerzeugungsvorrichtung auf das Abschaltsignal von den Decodierern anspricht und durch dieses eingeschaltet wird, wobei die Signale der Adressenerzeugungsvorrichtung an das Steuerwerk (1) als der Adressenteil des Programmverzweigungsbe fehls anstelle des Adressenteils des in dem Speicher (2) gespeicherten Programmverzweigungsbefehls angelegt werden.909827/1062
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86579677A | 1977-12-30 | 1977-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2856768A1 true DE2856768A1 (de) | 1979-07-05 |
DE2856768C2 DE2856768C2 (de) | 1984-02-09 |
Family
ID=25346246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2856768A Expired DE2856768C2 (de) | 1977-12-30 | 1978-12-29 | Prioritäts-Vektor-Unterbrechungsvorrichtung |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS5819094B2 (de) |
DE (1) | DE2856768C2 (de) |
FR (1) | FR2413717B1 (de) |
GB (1) | GB2012082B (de) |
IT (1) | IT1192603B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0028335A1 (de) * | 1979-11-06 | 1981-05-13 | International Business Machines Corporation | Multiprozessorsystem mit Ein-/Ausgabe-Unterbrechungsbehandlungsmechanismus |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6118059A (ja) * | 1984-07-05 | 1986-01-25 | Nec Corp | メモリ回路 |
JPS61143852A (ja) * | 1984-12-17 | 1986-07-01 | Toshiba Corp | 割込みベクトル保護方法 |
KR100317237B1 (ko) * | 1999-10-01 | 2001-12-22 | 윤종용 | 유사 벡터 방식의 인터럽트 컨트롤러 및 그것의 인터럽트 처리 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2744531A1 (de) * | 1976-10-04 | 1978-04-06 | Rca Corp | Elektronische datenverarbeitungsanlage |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50106541A (de) * | 1974-01-29 | 1975-08-22 | ||
JPS51233A (de) * | 1974-06-19 | 1976-01-05 | Nippon Electric Co | |
JPS5428260B2 (de) * | 1974-09-02 | 1979-09-14 | ||
JPS5232647A (en) * | 1975-09-08 | 1977-03-12 | Mitsui Eng & Shipbuild Co Ltd | Interruption system of electronic computer |
-
1978
- 1978-12-15 IT IT30897/78A patent/IT1192603B/it active
- 1978-12-19 GB GB7849060A patent/GB2012082B/en not_active Expired
- 1978-12-26 JP JP53164534A patent/JPS5819094B2/ja not_active Expired
- 1978-12-29 FR FR7836907A patent/FR2413717B1/fr not_active Expired
- 1978-12-29 DE DE2856768A patent/DE2856768C2/de not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2744531A1 (de) * | 1976-10-04 | 1978-04-06 | Rca Corp | Elektronische datenverarbeitungsanlage |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0028335A1 (de) * | 1979-11-06 | 1981-05-13 | International Business Machines Corporation | Multiprozessorsystem mit Ein-/Ausgabe-Unterbrechungsbehandlungsmechanismus |
Also Published As
Publication number | Publication date |
---|---|
IT7830897A0 (it) | 1978-12-15 |
FR2413717B1 (fr) | 1986-03-28 |
JPS54103645A (en) | 1979-08-15 |
FR2413717A1 (fr) | 1979-07-27 |
GB2012082B (en) | 1982-06-09 |
DE2856768C2 (de) | 1984-02-09 |
JPS5819094B2 (ja) | 1983-04-16 |
IT1192603B (it) | 1988-04-20 |
GB2012082A (en) | 1979-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE2744531C2 (de) | Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE3587213T2 (de) | Verarbeitungseinheit mit der faehigkeit ein oder mehrere programme auszufuehren mit einer mehrzahl von funktionseinheiten. | |
DE69032334T2 (de) | Virtuelles Computersystem mit Ein-/Ausgabeunterbrechungssteuerung | |
DE69230117T2 (de) | Verfahren und Gerät, die es Rechnerschaltkreisen ermöglichen, mit aktualisierten Versionen von Rechnersoftware zu funktionieren | |
DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE68918754T2 (de) | Datenverarbeitungsgerät mit selektivem Befehlsvorausholen. | |
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE3853759T2 (de) | Datenprozessor mit zwei Betriebsmoden. | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE2411963A1 (de) | Datenverarbeitungsanlage | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE3751108T2 (de) | Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden. | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE68915074T2 (de) | Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor. | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE68922545T2 (de) | Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen. | |
DE1474063A1 (de) | Datenverarbeitungsanlage | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE69230898T2 (de) | Speicherauswahl enthaltendes Verarbeitungs-System und Verfahren |
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 |