DE2856768A1 - Prioritaets-vektor-unterbrechung mit einer vorrichtung zur direkten herstellung einer adressenverzweigung - Google Patents

Prioritaets-vektor-unterbrechung mit einer vorrichtung zur direkten herstellung einer adressenverzweigung

Info

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
Application number
DE19782856768
Other languages
English (en)
Other versions
DE2856768C2 (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 DE2856768A1 publication Critical patent/DE2856768A1/de
Application granted granted Critical
Publication of DE2856768C2 publication Critical patent/DE2856768C2/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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling 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)

  1. RCA 72 142
    U.S. Serial No: 865, 796
    Filed: December 30, 1977
    RCA Corporation
    New York, N.Y., V.St.v.A.
    Patentansprüche
    Prioritä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/1062
    daß 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. 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. 3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der Speicher einen Festwertspeicher enthält.
  4. 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/1062
    sprechende 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. 5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die auf die Auswahlsignale ansprechende Vorrichtung eine Mehrzahl von Speichern (5, 6) enthält.
  6. 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/1062
    das 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
DE2856768A 1977-12-30 1978-12-29 Prioritäts-Vektor-Unterbrechungsvorrichtung Expired DE2856768C2 (de)

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)

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

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2744531A1 (de) * 1976-10-04 1978-04-06 Rca Corp Elektronische datenverarbeitungsanlage

Family Cites Families (4)

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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2744531A1 (de) * 1976-10-04 1978-04-06 Rca Corp Elektronische datenverarbeitungsanlage

Cited By (1)

* Cited by examiner, † Cited by third party
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
DE2856768C2 (de) 1984-02-09
JPS54103645A (en) 1979-08-15
JPS5819094B2 (ja) 1983-04-16
FR2413717B1 (fr) 1986-03-28
IT1192603B (it) 1988-04-20
FR2413717A1 (fr) 1979-07-27
GB2012082B (en) 1982-06-09
GB2012082A (en) 1979-07-18
IT7830897A0 (it) 1978-12-15

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
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
DE3942669A1 (de) Virtuelles maschinensystem
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